Я использую 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__)
. Это имя каталога не имеет завершающей косой черты, если это не корневая директория.
Для такого подхода существует ряд преимуществ:
__DIR__
будет отображать новый путь без каких-либо изменений кода.