在你的组件中声明事件并添加它的方法(即 function onClick($event))
将事件附加到事件处理程序(event handlers)(即 $object->onClick = array($handleObject, 'staticMethod');)
在你的组件中触发它来调用它的所有处理程序(即 $this->raiseEvent('onClick', $event)).注意,对于处理程序来说,你可以写一个对象的静态方法,一个对象的方法,创建一个函数(create_function),甚至可以直接附加一个函数(自 PHP 5.3)
如果我们查看 Ccomponent 的魔术方法 __set, 我们就会发现事件处理程序通常像属性一样设置。考虑到这些,以下是我的关于设置 CAction 类的事件处理程序的快速提示,我认为这是比较好的组织你的控制器的代码方法。
先写一个简单的 CAction 类的例子 EmyAction.php:
现在所有代码都以完成,你可以使用任何浏览器来测试结果.