【问题标题】:Phalcon CLI - setting dependency injection object correctlyPhalcon CLI - 正确设置依赖注入对象
【发布时间】:2014-07-05 17:38:09
【问题描述】:

我似乎无法在 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>

我不太确定我在哪里出错了。我阅读了文档,这似乎是实现我所追求的最简单的方法。如果有人有任何建议,我很乐意听取他们的意见!

【问题讨论】:

    标签: php dependency-injection phalcon


    【解决方案1】:

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

    php cli.php task_name action_name
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-11
      • 1970-01-01
      • 2016-09-15
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      相关资源
      最近更新 更多