Как получить корневой каталог приложения?
Как получить корневой каталог приложения в рамках действия?
Ответы
Ответ 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()