我在里面有静态类:
'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。
我有静态类(…)在每个控制器,组件,助手
这是不好的实践,并引入了紧密耦合。如果你在任何地方都广泛使用它们,我认为你的应用程序架构需要彻底检修。