CakePHP 3包含​​自定义库

时间:2015-07-10 12:47:05

标签: php cakephp cakephp-3.0

在CakePHP 2.x中我有静态类:

\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

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

use App\Util\MyStaticClass1;
use App\Util\MyStaticClass2;

这很有效。但是有更简单的方法来包含这些文件吗?

1 个答案:

答案 0 :(得分:1)

  

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

我不这么认为命名空间的工作原理。您可以将静态方法类包装在traits中。例如,请参阅核心的EventManagerTrait。

  

我在每个控制器,组件,帮助器

中都有静态类(...)

这是糟糕练习并引入了紧密耦合。我认为如果您在各处广泛使用它们,您的应用程序架构需要进行认真的改革。