and/symlink-detective

此包的最新版本(0.5)没有提供许可证信息。

库允许在尝试从符号链接的文件中执行时确定脚本的realpath。

0.5 2017-09-26 11:34 UTC

This package is auto-updated.

Last update: 2024-09-09 03:46:44 UTC


README

Latest Stable Version Latest Unstable Version License composer.lock

嘿,这个库允许您从所有混乱中找到真实的路径,如果您在项目中的某些目录使用符号链接。以下是一个例子

  • 项目根目录: /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,因为文件未找到且异常抛出被抑制(第三个参数)