【问题标题】:Map one directory path to another in PHPStorm在 PHPStorm 中将一个目录路径映射到另一个目录路径
【发布时间】:2014-03-10 17:33:14
【问题描述】:

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

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

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

【问题讨论】:

  • 您可以在此处设置路径映射:文件 |设置 | PHP |服务器(添加服务器并启用“使用路径映射”)。
  • 你的评论让我有点困惑。 “文件|设置| PHP |服务器”中的路径映射不是控制远程调试路径映射的工作方式,而不是编辑器本身解析路径的方式吗?

标签: php vagrant phpstorm


【解决方案1】:

我从来没有找到解决这个问题的方法,但我想我会发布一个答案,因为我从一开始就认为这不是构建包含路径的好方法。

在阅读 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__ 文件所在目录。如果在包含中使用,则返回包含文件的目录。这相当于dirname(__FILE__)。除非是根目录,否则此目录名称没有尾部斜杠。

这种方法有很多好处:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-26
    • 2021-06-17
    • 1970-01-01
    • 2011-11-06
    • 2021-03-06
    • 2012-02-09
    • 1970-01-01
    • 2017-11-07
    相关资源
    最近更新 更多