php - 如何使用composer获取根包路径

标签 php path package composer-php root

我正在开发一个名为 php-app-config 的 PHP 组件使用 composer . 此组件曾经被另一个项目需要,并使用 composer install 安装,应该在 root package 的配置文件夹中查找配置文件。 ,类似于 root_package/config/config.yml

./config/config.yml 应该只存在于根包中,而不应该存在于由 composer.json 中的“require:”导入的组件中,因为下面:

▾ root-package/
  ▸ bin/
  ▸ build/
  ▾ config/
    ▸ locales/
      config.yml
  ▸ src/
  ▸ tests/
  ▾ vendor/
    ▸ composer/
    ▸ phpdocumentor/
    ▸ phpspec/
    ▸ phpunit/
    ▾ robotdance/
      ▾ php-app-config/
        ▾ src/                                                                                                                                                                                               
      Config.php -> how to get the root "config/config.yml" path from here?
        ▸ tests/
      composer.json
      composer.lock
      phpunit.xml
      README.md

根包可以是网络应用程序或命令行实用程序。 有没有办法使用 Composer 获取根包路径?如果不是,什么是更好的方法?

最佳答案

使用反射类:

$reflection = new \ReflectionClass(\Composer\Autoload\ClassLoader::class);
$vendorDir = dirname(dirname($reflection->getFileName()));

关于php - 如何使用composer获取根包路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37925437/

相关文章:

c++ - 如何实现readlink查找路径

java - 我正在尝试 JNI 如何在 Linux 中设置 java.library.path

r - 具有多个包和开发人员的 Big R 项目 : Best setup for easy version controll based on packages

Lua:本地package.path

php - 关于常数时间算法和字符串比较的说明

php - 如何打印多维数组?

php - 使用记录保存的消息进行表单验证

c - Makefile没有找到规则

python - 如何强制重新编译站点包中的 py 源代码?

php - 如何使用 Pear Text_wiki