and / symlink-detective
此包的最新版本(0.5)没有提供许可证信息。
库允许在尝试从符号链接的文件中执行时确定脚本的realpath。
0.5
2017-09-26 11:34 UTC
Requires
- webmozart/path-util: ~2.3
This package is auto-updated.
Last update: 2024-09-09 03:46:44 UTC
README
嘿,这个库允许您从所有混乱中找到真实的路径,如果您在项目中的某些目录使用符号链接。以下是一个例子
- 项目根目录:
/var/www/sites/your-project
/var/www/sites/your-project/library
指向/var/www/libs/library
/var/www/sites/your-project/public
包含 app.php,指向/var/www/libs/frontend
(因此/var/www/sites/your-project/public/app.php
指向/var/www/libs/frontend/app.php
)
如果在库(/var/www/libs/library
)中的某处引用路径,如 library/../app/config.php
- 您的路径将是
/var/www/libs/library/../app/config
==/var/www/libs/app/config
,并且路径不存在。
但是有解决方案 - 您可以调用 SymlinkDetective::detectPath(__DIR__ . '/../app/config')
,SymlinkDetective 将进行魔法处理
示例
SymlinkDetective::detectPath(__DIR__ . '/../app/config')
返回/var/www/sites/your-project/app/config
SymlinkDetective::detectPath(__FILE__, '/../app/config')
返回/var/www/sites/your-project/app/config
SymlinkDetective::detectPath(__FILE__, '/../app/unexistent-file', false)
抛出异常,因为文件找不到/不存在SymlinkDetective::detectPath(__DIR__ . '/../unexistent-file')
返回/var/www/libs/library/unexistent-file
,因为文件未找到且异常抛出被抑制(第三个参数)