CakePHP 3 - 额外的控制器命名空间

CakePHP 3 - additional Controller namespaces

是否可以强制 CakePHP 3 也从其他目录读取控制器,而不仅仅是默认目录,例如App\Controller\ApiController 个文件夹?

您可以使用路由前缀在其他命名空间中拥有控制器,这将是内置解决方案:

http://book.cakephp.org/3.0/en/development/routing.html#prefix-routing

另一个解决方案是实现您自己的 ControllerFactoryFilter 并根据任意规则,在另一个命名空间中找到控制器。这是工厂的原始实现:

https://github.com/cakephp/cakephp/blob/3.0/src/Routing/Filter/ControllerFactoryFilter.php