Zend FrameWorkでCLIのスクリプトを実行するルーター

ZFでバッチ処理とかが、どうもすっきり書けないのでちゃんと考えてみた。

こちらの方の記事をかなり参考にさせて頂きました。
CLI(php コマンドライン) から Zend Framework アプリを実行するには - Enjoi Blog

この方のプログラムの Controlelr_Router と Console_Getopt をくっつけただけです。

<?php
require_once 'Zend/Controller/Router/Abstract.php';
require_once 'Zend/Controller/Router/Interface.php';

class Zend_Controller_Router_Cli extends Zend_Controller_Router_Abstract implements Zend_Controller_Router_Interface
{  
	public function assemble($userParams, $name = null, $reset = false, $encode = true)
	{}
	
	public function route(Zend_Controller_Request_Abstract $dispatcher)
	{	
		require_once 'Zend/Console/Getopt.php';
		$opt = new Zend_Console_Getopt(array(
				'action|a=s'		=> 'action',
				'controller|c=s'	=> 'controller',
				'module|m=s'		=> 'module',
			));
		
		$dispatcher->setControllerName($opt->controller)
				->setActionName($opt->action)
				->setModuleName($opt->module);
		
		return $dispatcher;
	}
}


あとは追加のパラメータをどう処理するかが課題。
ini ファイルからでも読み込ませるか?

そんな感じで。