CakePHP:/ Lib vs / Vendor vs / Plugin应该包含哪些内容

时间:2013-10-02 01:11:52

标签: php cakephp cakephp-2.0

我一直在使用CakePHP,而我并不真正了解/Lib vs /Plugin vs /Vendor应该采用的内容。我知道插件基本上都是带有自己的控制器等的迷你应用程序。但是有很多情况下,所有这三个看起来都很好。有人可以对此有所了解吗?

1 个答案:

答案 0 :(得分:22)

  

<强>库

     

包含非第三方或第三方的第一方库   外部供应商。这允许您分离您的组织   供应商库中的内部库。

     

<强>插件

     

包含plugin个包。

     

<强>供应商

     

任何第三方课程或图书馆都应放在此处。   这样做可以使用App :: import('vendor')轻松访问它们,   'name')功能。敏锐的观察员会注意到这似乎是多余的,   因为我们目录的顶层还有一个供应商文件夹   结构体。我们将在两者之间产生差异   讨论管理多个应用程序和更复杂的系统设置。

来源:http://book.cakephp.org/2.0/en/getting-started/cakephp-folder-structure.html

为了进一步说明,建议您自己编写的库使用Lib。这可能只是几个类或整个库。对于您可以从github下载的库或脚本,建议使用VendorPlugin严格用于cakephp框架插件。

关于您自己的脚本或第三方脚本的Lib vs Vendor,我所知道的没有区别。我在两个位置都放置了自己的脚本以及第三方脚本,但没有任何区别。这只是一种组织文件的推荐方式。

您可以使用与Lib相同的VendorApp::import()require_once()加载脚本。要加载遵循cakephp约定的框架文件或您自己的脚本,您可以使用App::uses()。这使用App::path()App::build()定义的路径来查找文件。