我一直在使用CakePHP,而我仍并不真正了解/Lib
vs /Plugin
vs /Vendor
应该采用的内容。我知道插件基本上都是带有自己的控制器等的迷你应用程序。但是有很多情况下,所有这三个看起来都很好。有人可以对此有所了解吗?
答案 0 :(得分:22)
<强>库强>
包含非第三方或第三方的第一方库 外部供应商。这允许您分离您的组织 供应商库中的内部库。
<强>插件强>
包含plugin个包。
<强>供应商强>
任何第三方课程或图书馆都应放在此处。 这样做可以使用App :: import('vendor')轻松访问它们, 'name')功能。敏锐的观察员会注意到这似乎是多余的, 因为我们目录的顶层还有一个供应商文件夹 结构体。我们将在两者之间产生差异 讨论管理多个应用程序和更复杂的系统设置。
来源:http://book.cakephp.org/2.0/en/getting-started/cakephp-folder-structure.html
为了进一步说明,建议您自己编写的库使用Lib
。这可能只是几个类或整个库。对于您可以从github下载的库或脚本,建议使用Vendor
。 Plugin
严格用于cakephp框架插件。
关于您自己的脚本或第三方脚本的Lib
vs Vendor
,我所知道的没有区别。我在两个位置都放置了自己的脚本以及第三方脚本,但没有任何区别。这只是一种组织文件的推荐方式。
您可以使用与Lib
相同的Vendor
从App::import()
或require_once()
加载脚本。要加载遵循cakephp约定的框架文件或您自己的脚本,您可以使用App::uses()
。这使用App::path()
或App::build()
定义的路径来查找文件。