【发布时间】:2018-06-22 03:34:32
【问题描述】:
有没有办法在 PHP 中获取 Composer 的 /vendor/autoload.php 文件加载的所有库的列表?
例子:
require_once("./composer/vendor/autoload.php");
// In some way, get a list of libraries that were loaded:
$libraries = composer_get_libraries(); // you get the idea
我似乎在 Composer 文档或 google 中找不到这个...
列出已安装的库('composer show')很容易,但这并不显示 PHP 中自动加载的库。我问的原因是我刚刚使用 composer require [library name] 安装了一个新库,但是在 PHP 中找不到该库的类。我正在尝试调试此问题,确保 autoload.php 实际加载此库会很有帮助。
即使启用将自动加载器活动转储到日志文件的“调试器”选项也会有所帮助。
更新:查看 When 单元测试代码,我看到必须有一个
use When\When;
在实例化 When 对象之前。
【问题讨论】:
-
所有已安装包的列表位于
composer.lock。你可以从那里加载它... -
@JiriHrazdil 如上所述,我想从 PHP 中执行此操作,并且我想获取自动加载器实际加载的库/包的列表。
-
我相信您只是想找出无法从已安装的composer包中引用类的原因,对吧?是否可以访问其他课程?
-
您可以使用
get_included_files()函数查看加载了哪些文件,这可能会有所帮助...
标签: php composer-php