CakePHP 3.x:创建控制器对象

CakePHP 3.x:创建控制器对象,cakephp,cakephp-3.x,Cakephp,Cakephp 3.x,我正在尝试创建控制器对象的列表 use App\Controller\AccessController; foreach ($controllerlist as $controllerName){ require_once($path); // path for the controller $clsobj = new $controllerName (); $methods = get_class_methods($clsobj); } 这样我就得到了一个类未找到的错误 例如:找不到Ac

我正在尝试创建控制器对象的列表

use App\Controller\AccessController;

foreach ($controllerlist as $controllerName){
require_once($path); // path for the controller
$clsobj = new $controllerName (); 
$methods = get_class_methods($clsobj);
}
这样我就得到了一个类未找到的错误

例如:找不到AccessController

但当我硬编码控制器名称并使用它的工作

$clsobj = new AccessController (); // this way its work

你知道怎么做吗?

你怎么填写这个
$controllerlist
?我认为你不必为每个控制器创建一个实例。您只需使用控制器的完整路径调用get_class_methods()。i、 e.
get_class_方法('\App\Controller\AccessController')感谢回复@skywalker$controllerlist(控制器数组)我为项目@arilia get_class_方法('\App\Controller\AccessController')创建的所有控制器返回空值,但不返回类中的方法:(您确定设置了正确的名称空间吗?您是否遵循cake约定?事实上,它应该是accessController。请发布您的accessController代码名称空间App\Controller;使用App\Controller\AppController;使用cake\Core\Configure;使用cake\Network\Exception\NotFoundException;使用cake\View\Exception\MissingTemplateException;使用Cake\Datasource;类AccessController扩展AppController{}---我正在创建accessController对象的Acl组件--命名空间Acl\Controller\component;使用Cake\Controller\component;使用Cake\Utility\Incomector;使用Cake\Filesystem\Folder;使用App\Controller\accessController;类AclGenerateComponent扩展组件{}如何填写此
$controllerlist
?我认为您不必为每个控制器创建实例。您只需使用控制器的完整路径调用get_class_方法()。即
get_class_方法('\App\controller\AccessController');
感谢回复@skywalker$controllerlist(控制器数组)我为project@arilia get_class_方法('\App\Controller\AccessController')创建的所有控制器返回null,但不返回类中的方法:(您确定设置了正确的名称空间吗?您是否遵循cake约定?事实上,它应该是accessController。请发布您的accessController代码名称空间App\Controller;使用App\Controller\AppController;使用cake\Core\Configure;使用cake\Network\Exception\NotFoundException;使用cake\View\Exception\MissingTemplateException;使用Cake\Datasource;类AccessController扩展AppController{}---我正在创建accessController对象的Acl组件--命名空间Acl\Controller\component;使用Cake\Controller\component;使用Cake\Utility\Incomector;使用Cake\Filesystem\Folder;使用App\Controller\accessController;类AclGenerateComponent扩展组件{}