Hoje descobri um danado que me deu boa ideia para o hooks do controlador, o nome dele é
get_class_vars.
Ele obtem as variáveis de uma classe em um array, com isso eu posso fazer um merge das variaveis do app_controller e do controller atual, coisa que não da para ser feito normalmente.
Aqui está a mágica: (exemplo tirado do código do drumon framework)
$app_controller_vars = get_class_vars('AppController');
$this->before_action = array_merge($app_controller_vars['before_action'], $this->before_action);
O resultado, vocês podem ver aqui
https://gist.github.com/843321 gostei muito.
Também já enviei para o repositório do drumon framework aqui está o commit
https://github.com/sook/drumon_framework/commit/a382c7fce6d86c82819f403507dc86ae49c990cd
Sem pressa sempre achamos uma boa solução. (nem sempre é a melhor para cada pessoa)
Agora vou planejar como implementar isso também para os helpers.
Sook -
http://www.sook.com.br