我需要创建一个使用PHP在命令行上运行的脚本,我想利用ZF和我用它编写的模型(类)。我如何尽可能优雅地做到这一点?
答案 0 :(得分:2)
基本上,CLI界面只是一个不同的表示层。如果您保持M与VC的分离,那么您只需要一个新的入口点来解决模型,例如CLI界面。
您可以使用Zend_Console_Getopt
来简化CLI客户端的开发。它允许您快速解析传递给CLI脚本的输入。您必须将任何输入委托给您的模型,就像您“定期”一样。
答案 1 :(得分:2)
你必须复制public / index.php的代码而不调用Zend_Application的run方法(它执行MVC的东西)并只加载你需要的资源。
#!/usr/bin/php
<?php
define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
set_include_path(realpath(APPLICATION_PATH . '/../library'));
require_once 'Zend/Application.php';
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
// Load only the ressources that you need
$application->getBootstrap()->bootstrap(
array(
'Db'
)
);
// Do stuff
注意使其适应cli脚本的位置。