Сопоставьте один путь каталога к другому в PHPStorm

Я использую JetBrains PHPStorm с Vagrant. ОС хоста (где работает PHPStorm) – это Windows, а гостевая ОС Vagrant – Ubuntu Linux. Приложение находится в /var/www/ в виртуальной машине, но на хосте этот код находится в C:\code\ .

Поэтому в PHPStorm я получаю предупреждения о неразрешенных каталогах, когда на самом деле путь верен и может быть сопоставлен непосредственно с C:\code .

Как я могу сообщить PHPStorm, что пути в коде, который начинается с /var/www/ в моем проекте, фактически сопоставляются с C:\code\ ? Я бы хотел, чтобы проверки пути снова работали.

Я никогда не нашел для этого решения, но я думал, что отправлю ответ, поскольку с тех пор я решил, что это не лучший способ для создания включенных путей в первую очередь.

Я столкнулся с гораздо лучшим подходом при чтении через структуру Symfony (и созданный автозагрузчиком Composer):

 <?php // autoload.php @generated by Composer require_once __DIR__ . '/composer' . '/autoload_real.php'; return ComposerAutoloaderInitd1d12712f9bc55fdf8d19536f1f9dd88::getLoader(); 

Здесь в качестве начальной точки для пути используется магия PHP __DIR__ . Из справочной страницы магии :

__DIR__ Каталог файла. Если используется внутри include, возвращается каталог включенного файла. Это эквивалентно dirname(__FILE__) . Это имя каталога не имеет завершающей косой черты, если это не корневая директория.

Для такого подхода существует ряд преимуществ:

  • Он переносится – он будет работать в любой операционной системе, на которой PHP будет работать
  • Это гибкий / динамический – вы можете перемещать файлы вокруг, а константа __DIR__ будет отображать новый путь без каких-либо изменений кода.
  • Это знакомо – другие разработчики с большей вероятностью распознают этот подход, поскольку он использует функцию родного языка, и они, вероятно, столкнулись с этим раньше.