为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
温温酱 2022-06-17 16:28:26
我已经接管了一个旧的 CakePHP 2.X 网站,并且之前没有使用 CakePHP 的经验,所以如果这是一个愚蠢的问题,请原谅我。我正在考虑对一些供应商文件进行一些更改,并注意到我们似乎在 2 个不同的地方有各种文件的多个副本(在大多数情况下,它们是相同的):应用程序/webroot/api/供应商/API/lib/供应商/API/lib/此外,我注意到在其他各个地方还有其他几个供应商目录。我App::import('Vendor', 'example', array('file' => 'API/lib/example.php'));用来加载有问题的脚本。有人可以向我解释一下与供应商文件相关的文件结构的最佳做法是什么?此外,我可以安全地删除所有文件的重复副本吗?CakePHP 如何知道要加载哪个副本?编辑:我得出的结论是文件是从而不是加载的vendors/API/lib/,app/webroot/api/vendor/API/lib/后一个位置的文件是否可能是多余的?我似乎找不到对它们的任何引用。
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

正如 Sudhir 评论过你的那样,你的应用项目中有一个名为 Vendor 的文件夹。我建议你把它放在那里。应用程序 > 供应商


例如,我创建了一个名为 Csv 的文件夹,用于通过启动它们的 Shell 生成我自己的 csv 文件。它位于 app > Vendor > Csv 内


为了将它导入我的项目,我做了下一个能够使用它的操作:


     <?php


      include('GenericShell.php');

      require_once(ROOT . DS . 'app' . DS . 'Vendor' . DS . 'Csv' . DS . 

      'CsvGenerator.php');


     class CsvPatientsShell extends GenericShell {

这是 PHP 的唯一示例。


另一种情况是,如果在这种情况下,您有一个名为 component.php 的组件,并且您想将其导入到您在项目中经常使用的控制器中:


组件将位于 Controller > Component > Namecomponent.php


接下来你要做的就是在你的控制器中同样进行导入:假设你的控制器的名称是 NameController.php 并且位于 Controller 文件夹中。控制器 > NameController.php


  public function main_function() {


    App::import('Component', 'Namecomponent');

    $NameComponent = new NameComponent();


    $this->layout = null;

    $this->autoLayout = false;

    die();

}

这将是使用 CakePhp 的一种更正确的方法,但我会说两者都是合法的。我希望这会以某种方式帮助你。


查看完整回答
反对 回复 2022-06-17
  • 1 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号