CakePHP 3包含自定义库


CakePHP 3 include custom lib

我在里面有静态类:

'app'Lib'Util'MyStaticClass1.php
'app'Lib'Util'MyStaticClass2.php

然后在app'Config'bootstrap.php文件中我添加了这些行。

App::uses('MyStaticClass1', 'Lib/Util');
App::uses('MyStaticClass2', 'Lib/Util');

所以我没有在每个控制器,组件,助手或ctp文件中包含这些类。

如何在CakePHP 3中做到这一点?我试过了:

我把这些文件复制到

'src'Util'MyStaticClass1.php
'src'Util'MyStaticClass2.php

然后在每个控制器,组件,helper和ctp文件中我添加了这个:

use App'Util'MyStaticClass1;
use App'Util'MyStaticClass2;

这工作。但是有没有更简单的方法来包含这些文件呢?

但是有没有更简单的方法来包含这些文件呢?

我不这么认为,这就是命名空间的工作方式。您可以将静态方法类包装在trait中。参见core的EventManagerTrait。

我有静态类(…)在每个控制器,组件,助手

这是不好的实践,并引入了紧密耦合。如果你在任何地方都广泛使用它们,我认为你的应用程序架构需要彻底检修。