在Cakephp 2.X中,供应商文件的正确位置在哪里?
我已经接管了一个旧的CakePHP 2.X网站,之前没有CakePHP的经验,所以如果这是一个愚蠢的问题,请原谅我 我正在考虑对一些供应商文件进行一些更改,并注意到我们似乎在两个不同的位置有不同文件的多个副本(大部分相同):在Cakephp 2.X中,供应商文件的正确位置在哪里?,php,cakephp,cakephp-2.0,vendor,Php,Cakephp,Cakephp 2.0,Vendor,我已经接管了一个旧的CakePHP 2.X网站,之前没有CakePHP的经验,所以如果这是一个愚蠢的问题,请原谅我 我正在考虑对一些供应商文件进行一些更改,并注意到我们似乎在两个不同的位置有不同文件的多个副本(大部分相同): app/webroot/api/vendor/api/lib/ 供应商/API/lib/ 此外,我注意到在其他不同的地方还有几个其他的供应商目录 我使用的是App::import('Vendor','example',array('file'=>'API/lib/exa
- app/webroot/api/vendor/api/lib/
- 供应商/API/lib/
App::import('Vendor','example',array('file'=>'API/lib/example.php')
加载有问题的脚本
请有人向我解释一下,关于供应商文件的文件结构,最佳做法是什么?此外,删除所有文件的副本是否安全?CakePHP如何知道要加载哪个副本
编辑:
我得出的结论是,文件是从
vendors/API/lib/
加载的,而不是从app/webroot/API/vendor/API/lib/
加载的,后面位置的文件是否可能是冗余的?我似乎找不到对它们的任何引用。正如Sudhir对您的评论一样,您的应用程序项目中有一个名为Vendor的文件夹。我建议你把它放在那里。
应用程序>供应商
例如,我创建了一个名为Csv的文件夹,用于通过启动它们的Shell生成我自己的Csv文件。它位于应用程序>供应商>Csv中
为了将其导入到我的项目中,为了能够使用它,我做了下一步:
<?php
include('GenericShell.php');
require_once(ROOT . DS . 'app' . DS . 'Vendor' . DS . 'Csv' . DS .
'CsvGenerator.php');
class CsvPatientsShell extends GenericShell {
使用CakePhp时,这是一种更正确的方法,但我想说,上面提到的两种方法都是合法的。
我希望这能对您有所帮助。在供应商文件夹中使用
public function main_function() {
App::import('Component', 'Namecomponent');
$NameComponent = new NameComponent();
$this->layout = null;
$this->autoLayout = false;
die();
}