Может быть, я просто не получаю его, но если мои файлы уже кэшированы, то какой смысл использовать каталог pub в Magento 2? Мое единственное обоснованное предположение заключается в том, что использование резервного механизма можно несколько облегчить, если иметь известный набор файлов для темы.
Читая документы, я не могу четко понять преимущества, хотя чувствую, что хорошо разбираюсь в динамических, статических и кэшированных файлах.
Насколько я понимаю, кеш - это просто определенное известное расположение ресурсов, из-за чего я предположил, что каталог pub - это механизм, который стандартизирует расположение файлов для сокращения ресурсов, используемых механизмом резервирования.
Ответы:
Каталог pub - это мера безопасности, позволяющая заблокировать публичный доступ к ресурсам корневого каталога, а именно к каталогу приложения. Предполагается, что причина, по которой index.php также находится в корневом каталоге, предназначена для лиц, чей веб-хостинг затрудняет или делает невозможным изменение вашего корня.
При использовании pub / index.php к исходной папке приложения будет невозможно получить доступ, хотя это может быть так, если index.php запускался из корневого каталога. Эта практика также замечена в Symfony и Zend 2.
Таким образом, ни одна из конфигураций приложений Magento, шаблонов и т. Д. Не предоставляется.
Как правило, знание архитектуры в отношении pub index.php vs root index.php не требуется для разработчиков внешнего интерфейса в команде, но понимание его основ полезно знать.
источник
document_root_is_pub = true
свой,./app/etc/env.php
если ваш корень/pub/
- github.com/magento/magento2/pull/9094В качестве примечания следует помнить, что
/index.php
файл используется при работе в режиме разработчика и/pub/index.php
при работе в рабочем режиме.источник