J'essaie de comprendre les espaces de noms, les autochargeurs et les normes FIG, mais surtout comment parvenir à une intégration aussi proche que possible de WordPress.
Voici ma structure de fichier, créée à l'aide de la pile impressionnante de WordPress roots .
|-- /web
| |-- /app
| | |-- /mu-plugins
| | | |-- autoload.php
| | | |-- /cibulka-mu-base // abstract classes, traits, ... for features
| | | |-- /cibulka-mu-feature-1 // features as custom post types, theme support, forms, ...
| | | |-- /cibulka-mu-feature-2 // features as custom post types, theme support, forms, ...
| | |-- /themes
| | | |-- /cibulka-parent-theme
| | | | |-- functions.php // plays with MU plugins, sets default config
| | | |-- /cibulka-child-theme
| | | | |-- functions.php // plays with MU plugins, overrides default config
| | |-- /plugins
| | | |-- /akismet
| | | |-- /other third party software
| |-- /wp
| | |-- /wp-admin
| | |-- /wp-includes
| | |-- etc.
Comment imiter la structure de fichiers par des espaces de noms et dans le même temps, autant que possible avec FIG-friendly? Dans le même temps, "les packages" de "l'application" doivent être stockés dans des dossiers distincts afin qu'ils puissent être requis par les fichiers composer.json
et surveillés par GIT.
J'ai essayé beaucoup d'options, mais pour être honnête, je suis un peu dépassé par le nombre de solutions possibles et par le fait qu'aucune d'entre elles n'est vraiment idéale.
Pouvez-vous me dire ce qui a été utile dans vos cas?
web\app\muPlugins\CibulkaMuBase
etc.cibulka\MU\Base
, cibulka\themes\parentTheme
, ...Vous réfléchissez à cela. La structure de l'espace de noms s'applique au niveau du package individuel. Il n’est pas nécessaire ou Push de traiter l’ensemble du site en tant que tel package.
En outre, l'un des avantages de l'utilisation de l'autoload en premier lieu est que cela rend l'emplacement des classes dans le système de fichiers en grande partie inutile.
L’approche simple et pratique consiste donc à: