我正在使用JetBrains PHPStorm和Vagrant。主机操作系统(PHPStorm运行的地方)是Windows,而客户操作系统Vagrant设置的是Ubuntu Linux。该应用程序位于VM中的/var/www/
,但代码位于C:\code\
的主机上。
因此,在PHPStorm中,我收到有关未解析目录的警告,实际上路径是正确的,并且可以直接映射到C:\code
。
如何告诉PHPStorm我的项目中以/var/www/
开头的代码中的路径实际映射到C:\code\
?我希望路径检查能够再次运作。
答案 0 :(得分:0)
我从来没有找到解决方案,但我想我会发一个答案,因为我已经认定这不是一个很好的方法来构建包含路径。
在阅读Symfony框架(以及Composer生成的自动加载器)时,我遇到了更好的方法:
<?php
// autoload.php @generated by Composer
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInitd1d12712f9bc55fdf8d19536f1f9dd88::getLoader();
这里,PHP魔术常量__DIR__
用作路径的起点。来自magic constant manual page:
__DIR__
文件的目录。如果在include中使用,则返回包含文件的目录。这相当于dirname(__FILE__)
。除非它是根目录,否则此目录名称没有尾部斜杠。
这种方法有很多好处:
__DIR__
常量将反映新路径,而不会更改任何代码。