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 ファイルからでも読み込ませるか?
そんな感じで。