Phalcon CLI - 正确设置依赖注入对象

时间:2014-07-05 17:38:10

标签: php dependency-injection phalcon

我似乎无法在CLI环境中正确使用Phalcon。我想有一个简单的脚本,我可以用它来快速测试一些功能。我创建了一个依赖注入器对象,如下所示:

class MainTask extends \Phalcon\CLI\Task {
     function validate($req, $index) {
         if ($req->hasPost($index)) {
             $val = ($req->getPost($index, 'trim'));
          }
          .....
 }

$di = new Phalcon\DI();
$di->set('data', function(){
    return "data";
});
$task = new MainTask();
$task->setDI($di);

$request = new Request();
$_POST['age'] = 10;
$ret = $task->validate($request, 'age');

但是当我通过" php test.php"运行时,我收到以下错误:

PHP Fatal error:  Uncaught exception 'Phalcon\Http\Request\Exception' with message 'A    dependency injection object is required to access the 'filter' service' in test.php:<line with trim in it>

我不太确定我在哪里出错了。我阅读了文档,看起来这是实现我之后的最简单方法。如果有人有任何建议,我很乐意听到他们的意见!

1 个答案:

答案 0 :(得分:1)

您应该像描述here一样创建cli.php文件(cli bootstrap)。然后你应该像描述here那样创建你的任务类。然后你可以运行它:

php cli.php task_name action_name