cakephp3在一个方法里面加载库

时间:2015-02-26 11:55:48

标签: cakephp cakephp-3.0

刚刚将系统迁移到新的cake3。 但是现在由于命名空间,努力在方法中动态加载库。

我有一个控制器

用这个:

require_once(APP . 'Lib' . DS  . 'Channel' . DS  . 'Channel1.php');
require_once(APP . 'Lib' . DS  . 'Channel' . DS  . 'Channel2.php');
require_once(APP . 'Lib' . DS  . 'Channel' . DS  . 'Channel3.php');
require_once(APP . 'Lib' . DS  . 'Channel' . DS  . 'Channel4.php');
use Channel\Channel1;
use Channel\Channel2;
use Channel\Channel3;

但是我不想加载所有库,除非我需要它们。有什么好的解决方案的建议吗?

1 个答案:

答案 0 :(得分:3)

如果您将文件放在src/Channel而不是src/Lib/Channel,则自动加载器会在您执行时自动找到您的文件

use App\Channel\Channel1;

要求您将类的名称空间设置为App\Channel

您还可以告诉作曲家如何自动加载您的自定义命名空间。在composer .json的自动加载部分的psr-4下,执行:

"Channel\\" : "./src/Lib/Channel"

最后执行composer dumpautoload