Ссылки PHPStorm и модуля

У меня есть следующие файлы в моем проекте PHP:

index.php private/module1.php private/module2.php 

module1.php ссылается на module1.php следующим образом:

 require_once('private/module1.php'); 

В свою очередь, module1.php требует module2.php , поэтому он имеет следующую строку:

 require_once('private/module2.php'); 

Мне нужно сообщить относительный путь от корня, чтобы он работал. Я предполагаю, что это потому, что команда require_once ожидает путь от текущего документа, который является index.php. Проблема в том, что PHP Storm не может справиться с этой ссылкой. Например, он не превращает строку private/module2.php в гиперссылку и не указывает ее как фактическую ссылку.

Как это решить?

Вам просто нужно правильно настроить проект PhpStorm, указав пути включения, которые PhpStorm должен использовать для разрешения ссылок.

Перейдите в меню Файл -> Настройки -> PHP.

Там вы должны добавить корневой каталог проекта (тот, где находится ваш index.php), в список включенных путей.

Когда это будет сделано, PhpStorm должен разрешить путь в require_once('private/module2.php') .

Кроме того, вы можете добавить частный каталог в список включенных путей, которые PHP использует через set_include_path () где-то в вашем index.php . Затем вы можете просто вызвать require_once('module2.php') из вашего модуля1.php .

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

Вы также можете использовать базовый url. подобно

 require_once($base_url . 'private/module2.php'); 

Базовый url может быть определен где-то самостоятельно или вы можете использовать переменную $ _SERVER, чтобы получить ее http://www.php.net/manual/en/reserved.variables.server.php

PhpStorm не может сделать ссылку, потому что она ищет

 index.php private/module1.php private/private/module2.php 

module1.php должен просто потребовать имя файла module2.php :

require_once('module2.php);