php - 如何在 CakePHP 2 Travis 集成中自动加载 Composer 包

标签 php cakephp composer-php travis-ci cakephp-2.x

我正在开发一个 CakePHP 2.x 插件,它使用 Composer 引入包依赖项。我现在正在尝试使用蛋糕之友的Travis package每当插件的存储库更新时自动运行我的单元测试。

据我所知,这不包括在我的供应商文件中加载所需的 Composer 自动加载文件。结果,我的测试失败了,因为缺少第三方包中定义的类。

CakePHP 2's advanced installation 中所述我正在尝试将以下内容添加到 bootstrap.php:-

require APP . 'Vendor' . DS . 'autoload.php';

我试图通过我的 .travis.yml 文件的 before_script 附加 bootstrap.php 来做到这一点:-

before_script:
  - git clone https://github.com/FriendsOfCake/travis.git --depth 1 ../travis
  - ../travis/before_script.sh
  - echo "require APP . 'Vendor' . DS . 'autoload.php';" >> ../cakephp/app/Config/bootstrap.php

不幸的是,这作为文件 APP 失败了。 '小贩' 。 DS 。找不到“autoload.php”。 (我也尝试在 APP . '..' . DS . 'Vendor' . DS . 'autoload.php' 中查找文件)。

使用 Travis 安装 CakePHP 时,Composer autoload.php 文件位于何处?当我的测试在 Travis CI 上远程运行时,如何确保加载我的第三方包?

最佳答案

第三方插件的默认目录名称是vendor(小写),CakePHP 有Vendor,您可以在.../app/composer 中更改它.json

{
   "config": {
      "vendor-dir": "Vendor" // CakePHP third party plugins dir name
   },
   "require": {
      ...
   }
}

关于php - 如何在 CakePHP 2 Travis 集成中自动加载 Composer 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34402916/

相关文章:

php - jquery .append() 不适用于我的 html

php - 允许英文字符、中文、日文

php - mysql php问题: no error message despite error_reporting(E_ALL) line

cakephp - 在 Cakephp 中使用 $this->Auth 获取关联模型

php - Laravel 中的项目从 5.8 更新到 6 时出现问题

php - 如果数据库记录中包含空值,如何将空值设置为数据字段?

php - cakePHP 查找 ("list") 返回空数组

cakephp - Cakephp3 ElasticSearch-如何获得结果

ssl - Composer 自签名证书

Laravel Composer 更新错误 - 权限被拒绝