2012-02-09 1 views
3

У меня есть стандартная конфигурация переднего контроллера/бутстрапа, с фронтальным контроллером на root/index.php и бутстрапом на root/app/bootstrap.php.Помочь IDE разрешить пути файлов в файлах с включенными файлами

Передний контроллер загружает файл boostrap с помощью require_once 'app/bootstrap.php';.

Загрузочный загрузчик затем загружает необходимые файлы с использованием путей относительно переднего контроллера, например require_once 'model/model.php';.

Мои IDE (PhpStorm 3.0.2) флаги пути к файлам в загрузчике с предупреждением, что говорит: «Не удается разрешить цель выражения ...»

Есть комментарий и/или код, который может Я добавляю к файлу bootstrap, чтобы помочь моей среде IDE распознать и разрешить схему каталога/включения?

ответ

2

Следующее должно работать. Раздражающе, это не работает, если вы используете $ config-> directoryroot, но есть ошибка об этом here, поэтому он должен работать в будущих сборках.

$directoryroot = '/full/system/path/to/docroot'; 

require_once($directoryroot.'/app/bootstrap.php'); 
+0

Благодарим за сообщение об ошибке. Моя забота об обеспечении полного пути каждый раз заключается в том, что это создает дополнительную работу для PHP. Мне очень мало работы, но я думаю, что лучше жить с уродливым предупреждением, чем с дополнительным кодом. Вы когда-нибудь находили IDE достаточно умным, чтобы понять это самостоятельно? – cantera

+1

@ cantera25 "это создает дополнительную работу для PHP, чтобы сделать" ??? Предоставление полного пути для include/require на самом деле быстрее, чем относительные пути, так как файл обрабатывается сразу (одна 1-я итерация) без необходимости проверки относительных путей (который будет считаться как минимум 2-й итерацией). Хотя разница во времени очень мала. – LazyOne

+1

Вы также можете использовать константу '__DIR__' (которая относится к текущему файлу) или' dirname (__ FILE __) '(для более низкой совместимости версий PHP). – LazyOne