Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Cakephp 2.X中,供应商文件的正确位置在哪里?_Php_Cakephp_Cakephp 2.0_Vendor - Fatal编程技术网

在Cakephp 2.X中,供应商文件的正确位置在哪里?

在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

我已经接管了一个旧的CakePHP 2.X网站,之前没有CakePHP的经验,所以如果这是一个愚蠢的问题,请原谅我

我正在考虑对一些供应商文件进行一些更改,并注意到我们似乎在两个不同的位置有不同文件的多个副本(大部分相同):

  • 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();
}