2013-12-13 2 views
0

Я новичок в работе с PHPStorm и ищу помощника, чтобы сделать требуемые файлы немного проще. Я находится в файле, который достаточно глубоко вложен в папки, и мне нужно, чтобы файл require() находился прямо под корнем проекта в PHPStorm.Есть ли сокращение для пути проекта Root в PHPStorm?

Есть сокращенная в PhpStorm (или старый добрый PHP), которые давайте мне сделать что-то вроде

require('{ROOT}/lib/somefile.php'); 

Вместо того, чтобы использовать относительные пути?

require('../../../../../../lib/somefile.php'); 
+0

'define ('PROJECT_ROOT', __DIR __);' (или аналогично) где-то в index.php (или какой-то другой ** глобальный ** файл). Затем просто создайте путь, используя эту константу. Очевидно, что это не фактический ответ для запрошенных функций, а альтернативный подход к проблеме. У IDE есть возможность скопировать путь ** relative ** в корневой каталог проекта, но он не будет работать для вашего случая, который является «путем относительно текущего файла». – LazyOne

+0

Это не отвечает на ваш вопрос, но использование пространств имен PHP с автозагрузчиками позволит вам сэкономить массу времени в будущем. https://github.com/php-fig/fig-standards/tree/master/accepted Посмотрите на PSR-0 – user602525

+0

@ LazyOne на самом деле, я думаю, что «путь копирования относительно корня проекта» - это именно то, что я хочу; как это сделать? – STW

ответ

1

Apache хранит путь к корневой папке документов в качестве переменного окружения, которое вы можете получить доступ из PHP как это:

$ROOT = getenv("DOCUMENT_ROOT"); 

Тогда вы можете сказать:

require("$ROOT/lib/somefile.php"); 

Если вы являются usign IIS, см. this article in helicron.net.

1

Если это не перебор, я бы предложил использовать автозагрузчик. Вот один из компонентов Symfony: http://symfony.com/doc/current/components/class_loader/introduction.html Я уверен, что Zend или другие фреймворки имеют одинаковую способность.

Он обрабатывает расположение файлов и может даже удалить необходимость вручную запрашивать файлы.

Повторное использование колеса громоздко для производства, ИМХО.

Смежные вопросы