【问题标题】:Cakephp 3 loading vendor filesCakephp 3 加载供应商文件
【发布时间】:2015-09-30 00:57:53
【问题描述】:

在 cakephp 2 中,当我需要全局加载供应商或相关类时,我在 bootstrap.php ot core php 中添加了 require 或 app use。

在 cakephp 3 中,我应该在哪里需要供应商文件?我不想在我使用供应商文件的每个类和模板文件中声明供应商要求。

http://book.cakephp.org/3.0/en/core-libraries/app.html#loading-vendor-files

【问题讨论】:

  • 您的供应商文件是否与 Composer 一起安装?
  • 没有。我有我的自定义静态实用程序类。我想在我的应用程序中使用它们。在 cakephp 2 中,我使用 Lib/Util 文件夹进行此操作。但似乎在 Cakephp 3 中我应该将它们放入供应商文件夹并加载它们。这些供应商文件不属于在线存储库。我不想公开分享它的代码。所以我在本地存储和开发它们。我更喜欢类似旧的 Lib/Util 风格的方法。
  • 您在提供的链接中没有找到什么?

标签: php cakephp cakephp-3.0 vendor


【解决方案1】:

供应商文件是 3rdparty 文件。您自定义的静态实用程序类不是供应商文件,而是您的应用程序文件。您可以将它们放在src/Lib/ 下。只需确保为类使用正确的命名空间,并在需要使用类的任何地方添加正确的 use 语句。

例如如果你的 lib 类是 src/Lib/FooBar.php,那么它的类名应该是 App\Lib,而“use”语句应该是 use App\Lib\FooBar

【讨论】:

  • 1) cakephp 3 中是否有“src/Lib”的文件夹名称约定?还是“src/Lib/Util”更好? 2) 我应该在我想使用Foobar.php 的每个类中添加use 语句,还是可以在一个地方声明并使用它? 3) 模板文件夹的视图文件怎么样?我可以在视图文件中添加use 语句吗?
  • 1) 不,您可以使用任何您想要的文件夹/命名空间。 2) 是的,您需要在要使用的每个文件中添加 use 语句。这就是命名空间的工作原理。 3) 是的,您也可以在视图文件中包含 use 语句。
  • @ADmad 有什么方法可以在引导程序中加载 FooBar 类以将其加载到整个应用程序中?
猜你喜欢
  • 1970-01-01
  • 2017-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
  • 1970-01-01
  • 2015-08-20
  • 2017-03-01
相关资源
最近更新 更多