Peut-être que je ne l'obtiens pas, mais si mes fichiers sont déjà mis en cache, à quoi servirait un répertoire de pub dans Magento 2? Ma seule supposition éclairée serait que l'utilisation du mécanisme de secours pourrait être quelque peu atténuée en ayant un ensemble connu de fichiers pour le thème.
En lisant les documents, je ne comprends pas clairement les avantages, même si je pense avoir une bonne compréhension des fichiers dynamiques, statiques et mis en cache.
Si je comprends bien, le cache est simplement un emplacement défini défini d'actifs qui m'a amené à deviner que le répertoire pub est un mécanisme qui standardise l'emplacement des fichiers pour réduire les ressources utilisées sur le mécanisme de secours.
Réponses:
Le répertoire pub est une mesure de sécurité pour bloquer l'accès public à vos actifs de répertoire racine, à savoir le répertoire de l'application. La raison pour laquelle index.php se trouve également dans le répertoire racine est censée s'adresser aux individus dont l'hébergeur rend difficile ou impossible de modifier votre racine Web.
Lorsque vous utilisez pub / index.php, le dossier source de l'application ne pourra pas être consulté alors qu'il pourrait l'être si index.php était exécuté à partir du répertoire racine. Cette pratique est également observée dans Symfony et Zend 2.
De cette façon, aucune des configurations, modèles, etc. de l'application Magento n'est exposée.
Généralement, la connaissance de l'architecture en ce qui concerne le pub index.php vs root index.php n'est pas nécessaire pour les développeurs frontend d'une équipe, mais comprendre ses bases est bon à savoir.
la source
document_root_is_pub = true
votre./app/etc/env.php
si votre racine est/pub/
- github.com/magento/magento2/pull/9094Comme note latérale, il est bon de garder à l'esprit que le
/index.php
fichier est utilisé lors de l'exécution en mode développeur et/pub/index.php
est utilisé lors de l'exécution en mode productionla source