在PHPStorm中将一个目录路径映射到另一个目录路径

时间:2014-03-10 17:33:15

标签: php vagrant phpstorm

我正在使用JetBrains PHPStorm和Vagrant。主机操作系统(PHPStorm运行的地方)是Windows,而客户操作系统Vagrant设置的是Ubuntu Linux。该应用程序位于VM中的/var/www/,但代码位于C:\code\的主机上。

因此,在PHPStorm中,我收到有关未解析目录的警告,实际上路径是正确的,并且可以直接映射到C:\code

如何告诉PHPStorm我的项目中以/var/www/开头的代码中的路径实际映射到C:\code\?我希望路径检查能够再次运作。

1 个答案:

答案 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__)。除非它是根目录,否则此目录名称没有尾部斜杠。

这种方法有很多好处:

  • 它是可移植的 - 它可以在任何运行PHP的操作系统上运行
  • 灵活/动态 - 您可以移动文件,__DIR__常量将反映新路径,而不会更改任何代码。
  • 熟悉 - 其他开发人员更有可能认识到这种方法,因为它使用的是本地语言功能,而且之前可能会遇到它。