Как получить корневой каталог приложения?

Как получить корневой каталог приложения в рамках действия?

Ответы

Ответ 1

Первое, что делает ZF2, - это изменить текущий каталог через chdir(dirname(__DIR__));

Это означает, что каждое будущее включает в себя от ROOT PATH вашего приложения и НЕ к общей папке. Или любую другую текущую папку.

Конечно, это справедливо только для PHP файлов.

Если вы хотите определить корневой путь вручную, перейдите в /public/index.php и добавьте строку типа define('ROOT_PATH', dirname(__DIR__));

Как я уже говорил, для INCLUDES это НЕ требуется, хотя;), поскольку вы ВСЕГДА в корневой папке, когда дело доходит до PHP-Files;)

Ответ 2

getcwd() работает лучше всего для меня, DIR возвращает корень модуля. В этом случае это не очень удобно.

Ответ 3

@Сэм:  Я не совсем понимаю ваш вопрос. В основном текущий путь равен корню ZF2-Apps. [...] Вы всегда можете подниматься вверх, используя.. /

Не совсем. Когда вы создаете модуль, совместно используемый в нескольких приложениях, например. Модуль FileUpload в поставщике, внешнем приложении. Вы хотите загрузить файл в подкаталог приложения, а не в общий модуль:) В этом случае __DIR__ равен пути к модулю, а не к пути к приложению и ../ wouldn, t будет хорошим решением;)

Мне нравится ROOT_PATH, как вы уже упоминали:

define('ROOT_PATH', dirname(__DIR__));

или даже лучше:

getcwd()