我已经使用 CakePHP 一段时间了,但我仍然不明白/Lib
vs /Plugin
vs应该做什么/Vendor
。我知道插件基本上是带有自己的控制器等的迷你应用程序。但是在很多情况下,这三个似乎都是不错的选择。有人可以对此有所了解吗?
1 回答
库
包含不来自第 3 方或外部供应商的第 1 方库。这允许您将组织的内部库与供应商库分开。
插入
包含插件包。
小贩
任何第三方类或库都应该放在这里。这样做可以使用 App::import('vendor', 'name') 函数轻松访问它们。敏锐的观察者会注意到这似乎是多余的,因为在我们目录结构的顶层还有一个供应商文件夹。当我们讨论管理多个应用程序和更复杂的系统设置时,我们将探讨两者之间的差异。
来源:http ://book.cakephp.org/2.0/en/getting-started/cakephp-folder-structure.html
为了进一步澄清,Lib
建议您自己编写的库。这可能只是几个类或整个库。Vendor
推荐用于可以从 github 下载的库或脚本。Plugin
严格用于 cakephp 框架插件。
关于Lib
与Vendor
您自己的脚本或第 3 方脚本相比,我知道没有区别。我已经将我自己的脚本放在两个位置以及第 3 方脚本中,并且没有任何区别。这只是组织文件的推荐方式。
您可以从Lib
或Vendor
使用App::import()
与require_once()
. 要加载遵循 cakephp 约定的框架文件或您自己的脚本,您可以使用App::uses()
. 这使用使用App::path()
或定义的路径App::build()
来查找文件。