charm/util-composerpath

轻松找到项目根路径(包含 composer.json 的路径),无需接触文件系统。

1.0.4 2021-07-02 11:26 UTC

This package is auto-updated.

Last update: 2024-09-10 03:54:35 UTC


README

大多数项目将 composer.json 文件存储在项目根目录。这个库提供了一个单一的功能

| 通过调用 $root = \Charm\Util\ComposerPath::get(); 来检测项目根目录。

常规用法

// Let's store the root path in a PHP constant
define('ROOT', Charm\Util\ComposerPath::get());

// If composer is not used, the value is `null`
if (null === \ROOT) {
    throw new \Exception("This project requires 'composer'.");
}

// Do your thing:
$databaseConfig = require(ROOT.'/config/database.php');

命令行片段

如果你正在寻找用于 shell 命令的 vendor/autoload.php 文件,你应该调用以下单行命令或从本库复制 autoload-autoloader.php 脚本。

/*
 * Find the path to `vendor/autoload.php`.
 */
require realpath(__DIR__.'/../../../vendor/autoload.php') ?: realpath(__DIR__.'/../vendor/autoload.php') ?: 'vendor/autoload.php';

此变体假定你的脚本位于库的子目录中。如果需要,根据你的脚本移除或添加 /..