Identificar Actions

Tem alguma maneira de identificar todas as actions de um controller?

Tipo, todas as funções. Ex:




public function actionAdd(){

 // código

}


public function actionDel(){

 // código

}




me retornar:

controller/add

controller/del

Dê uma olhada na API de Reflexão do PHP: http://www.php.net/manual/en/reflectionclass.getmethods.php

Acredito que a partir dela vc consiga implementar essa idéia.

Essas informações de reflexão de um controlador ainda não encontrei no framework, se alguém encontrar não deixe de informar.

FLW!

Acácio,

Tenho uma funçãozinha básica aqui, que peguei até no forum, para listar todos os Controllers e depois pegar os Actions.




$declaredClasses = get_declared_classes();


foreach (glob(Yii::getPathOfAlias('application.modules.admin.controllers') . "/*Controller.php") as $controller) {

	

		$class = basename($controller, ".php");

		if (!in_array($class, $declaredClasses))

			Yii::import("application.modules.admin.controllers." . $class, true);


		foreach (get_class_methods($class) as $method) {


			if (preg_match('/^action+\w{2,}/', $method)) {

				$a = substr($method, 6);


				echo $a;

			}

		}

}