在以下链接上阅读YIi指南:http://www.yiiframework.com/wiki/327/events-explained/时,我看到以下行:
…So earlier before raising the event we should have called, maybe inside the initialization method of the component, something like this:
$myComponent->onForestRan = array(new SomeOtherClass, 'eventHandler1');
我知道这段代码会将事件处理程序附加到事件上,并且左侧的数组是一个PHP回调函数.但是,我真正不了解的是它的语法,它是否调用了onforestRan()函数(该函数先前在$component上定义,请参见上面的Yii链接),如果这样的话,它将因缺少以下内容而无效$event参数.或者,如果它是一个回调,那么我从未见过使用这样的回调的方法(如果它是其中的call_user_func()或usort()的回调).它的语法对我来说真的很奇怪.
有人可以帮我吗?
非常感谢!
解决方法:
这不是回调本身,而是告诉Yii对事件执行什么动作(即什么功能).
在给定的示例中,当发生onForestRan时,将触发SomeOtherClass的eventHandler1函数.
当该页面描述回调时,是说您分配给$myComponent-> onForestRan的任何内容都必须是回调函数.回调尚未在此时执行,您只是让Yii知道事件发生时要使用哪个回调.
更多细节:
onForestRan是$myComponent的特殊属性,如documented here.可以在CComponent中查看更多详细信息.可以在the CComponent source中搜索类似于line 113的行,在该行中可以看到特殊属性的逻辑开始.这与控制器中的action *方法非常相似.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。