Phalcon PHP中的调度功能是否已更改?
我在Phalcon文档中读到了一些关于调度的内容。我在“afterExecuteRoute”之前使用过,但今天只需查看有关它的文档。。。我发现了一些困扰我的问题(关于参数): 这正是文档中代码的一部分。但是如果我把它放在我的代码中,我会得到关于以下内容的“可捕获致命错误”: 传递给Adapters\Controller::AfterExecuteOute()的参数1必须为 Phalcon\Events\Event的实例,事件的实例 Phalcon\Mvc\Dispatcher给定 所以。。。文档是否有误?或者这是下一个Phalcon版本的正确方法Phalcon PHP中的调度功能是否已更改?,php,controller,phalcon,dispatcher,dispatch,Php,Controller,Phalcon,Dispatcher,Dispatch,我在Phalcon文档中读到了一些关于调度的内容。我在“afterExecuteRoute”之前使用过,但今天只需查看有关它的文档。。。我发现了一些困扰我的问题(关于参数): 这正是文档中代码的一部分。但是如果我把它放在我的代码中,我会得到关于以下内容的“可捕获致命错误”: 传递给Adapters\Controller::AfterExecuteOute()的参数1必须为 Phalcon\Events\Event的实例,事件的实例 Phalcon\Mvc\Dispatcher给定 所以。。。文档
谢谢文档中似乎确实存在不一致之处 从中获取,此示例显示
beforeExecuteRoute
需要是一个Dispatcher
对象
class PostsController extends Phalcon\Mvc\Controller
{
public function beforeExecuteRoute($dispatcher)
{
// ...
}
}
执行路由之前
!=afterExecuteRoute
您使用的php版本和phalcon版本?phalcon版本是2.1.0r:)谢谢!什么php版本?7还是5.6?如果它是7,请确保您使用最新的zephir编译它,并且您有最新的phalcon 2.1.0r哦,我的意思是我刚才看到您有Adapters\Controllers::afterExecuteRoute()
,那么在这种情况下,不会将$event
传递给任何这些方法<代码>$event对象仅在使用事件管理器时才可用。只是调度对象:)不,不,我不是7。。。目前是PHP版本5.6.3(Win32)。无论如何,我认为$event并没有正确地放在文档中。。。在我为dispatcher提供的链接中,示例是in/for controller。如果它是在controller中完成的,那么是-只传递$dispatcher,因为没有事件。若使用了事件管理器,那个么您将始终将事件作为第一个参数和要传递给fire方法的对象。
class PostsController extends Phalcon\Mvc\Controller
{
public function beforeExecuteRoute($dispatcher)
{
// ...
}
}