yiisoft / aliases
命名路径和URL存储
3.0.0
2023-02-13 10:14 UTC
Requires
- php: ^7.4|^8.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- roave/infection-static-analysis-plugin: ^1.16
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^4.30|^5.6
- yiisoft/di: ^1.0
README
Yii Aliases
该包的目的是存储路径别名,即表示长路径的短名称(文件路径、URL等)。路径别名值可以作为其部分值。例如,@vendor
可能存储到 vendor
目录的路径,而 @bin
可能存储 @vendor/bin
。
需求
- PHP 7.4 或更高版本。
安装
可以使用 Composer 安装此包。
composer require yiisoft/aliases
通用用法
路径别名必须以字符 '@' 开头,这样就可以轻松区分别名路径和非别名路径。
use Yiisoft\Aliases\Aliases; $aliases = new Aliases([ '@root' => __DIR__, ]); $aliases->set('@vendor', '@root/vendor'); $aliases->set('@bin', '@vendor/bin'); echo $aliases->get('@bin/phpunit');
以下代码将输出 "/path/to/vendor/bin/phpunit"。
请注意,set()
方法不会检查给定路径是否存在。它所做的只是将别名与路径关联起来。
路径可以是
- 一个目录或文件路径(例如
/tmp
,/tmp/main.txt
) - 一个URL(例如
https://yiiframework.cn
) - 一个路径别名(例如
@yii/base
)。它将在调用 {@see get()} 时解析。
给定路径中的任何尾部 /
和 \
字符都将被删除。
要批量将路径别名转换为实际路径,请使用 getArray()
方法
$aliases = new Aliases([ '@root' => '/my/app', ]); // Value will be ['src' => '/my/app/src', 'tests' => '/my/app/tests'] $directories = $aliases->getAll(['src' => '@root/src', 'tests' => '@root/tests']);
别名优先级
如果注册了具有相同根(前缀)的多个别名,则最具体的一个具有优先级
use Yiisoft\Aliases\Aliases; $aliases = new Aliases([ '@vendor' => __DIR__ . '/vendor', '@vendor/test' => '/special/location' ]); echo $aliases->get('@vendor/test');
这将输出 /special/location
,因为 @vendor/test
比 @vendor
是更具体的匹配。
别名移除
如果您需要移除运行时别名
use Yiisoft\Aliases\Aliases; $aliases = new Aliases([ '@root' => __DIR__, ]); $aliases->remove('@root');
文档
如果您需要帮助或有问题,Yii 论坛 是一个不错的选择。您还可以查看其他 Yii 社区资源。
许可证
Yii Aliases 是免费软件。它根据 BSD 许可证的条款发布。有关更多信息,请参阅 LICENSE
。
由 Yii 软件 维护。