Why Doesn't Ccontroller Raise The Default Events?

I found an old post about the same topic, but it was never answered…

I still wonder why the default implementation of CController won’t raise all the defined events, i.e. beforeAction, beforeRender, afterRender, afterAction (i’ve read about a new event called authorize in a post from qiang).

For example, should the programmer override these methods like:

public function afterAction($action) {

    $this->onAfterAction(new CEvent($this));


and then declare the event like:

public function onAfterAction($event) {

    $this->raiseEvent('onAfterAction', $event);