Vous voulez commencer à utiliser Better WP-Config dès que possible ?
define() contient toutes les constantes requises par le noyau WordPress pour vous.php , un fichier .env ou un fichier JSON .db , debug , error , salts , etc.define() vs ini_set() , etc.define() nécessaires à n’importe quel plugin ou thèmeprivate des hébergeurs Web gérés pour stocker la configurationABSPATH (par exemple WP core) sur la racine Web, /wp ou tout autre sous-répertoireWP_CONTENT_DIR sur /wp-content , /app ou tout autre sous-répertoirelocal , test , stage , prod , etc.HTTP_HOST par expression régulièresecrets )index.php ou wp-config.php$_ENV , $_SERVER ou getenv()privatewp_config()->print_config(); (Remarque : ce qui suit ne sera pas vrai tant que nous n'aurons pas résolu ce problème. D'ici là, consultez notre démarrage rapide)
Créez simplement un fichier nommé /wp-content/config/config.php et ajoutez la configuration de votre site en utilisant le format ici :
<?php
return array(
'db[name]' => 'example_db',
'db[user]' => 'example_user',
'db[pass]' => '1234567890abcdef',
'db[charset]' => 'utf8mb4_unicode_ci',
'db[collate]' => 'utf8mb4',
'db[host]' => 'localhost',
'db[table_prefix]' => 'wp_',
'defines' => array(
'CONSTANT_REQUIRED_BY_A_PLUGIN' => 'it's value'
),
);
Vous devrez également remplacer /index.php et /wp-config.php de votre site par des alternatives très simples que vous pouvez trouver ici et ici, respectivement.
Cependant, avant de faire de fausses hypothèses :
Un meilleur WP-Config peut charger des fichiers de configuration depuis ../config , /private/config ou partout où vous le souhaitez.
Si vous aimez séparer la configuration et le code, vous pouvez définir votre file_format sur 'env' .
Cela peut paraître simple – ce qui était intentionnel pour faciliter le démarrage – mais Better WP-Config a été conçu pour gérer des exigences de configuration très complexes. Une fois que vous aurez commencé et que vous rencontrerez des cas d'utilisation plus complexes tels que plusieurs environnements et un déploiement automatisé, vous verrez à quel point Better WP-Config est flexible et puissant.
Vous pouvez demander quel problème Better WP-Config essaie de résoudre. Vous vous demandez peut-être : « Pourquoi avons-nous besoin d’une meilleure solution de configuration WordPress ? » Eh bien, nous en avons besoin car nous avons constaté que beaucoup trop de cas d'utilisation au-delà du trivial exigent une meilleure solution de configuration. Continuez à lire :
WordPress est un excellent CMS, mais il ignore les besoins des développeurs WordPress qui souhaitent utiliser un flux de travail plus professionnel, comme avec des environnements test / stage / live . La configuration WordPress par défaut a été conçue pour gérer la configuration d'un seul environnement ; si vous souhaitez gérer davantage, vous devez déployer votre propre solution de configuration multi-environnements.
WordPress vous permet de stocker la configuration dans wp-config.php à la racine Web ou à un niveau de répertoire supérieur. Bien que vous puissiez stocker votre configuration dans un autre fichier, puis require() dans wp-config.php (ce que fait Better WP-Config ), pirater une solution personnalisée signifie que vous devrez également la documenter et la maintenir, en supposant que vous je veux en dépendre à l’avenir.
Et si vous prenez la peine de développer et de documenter une solution telle que Better WP-Config, vous aurez essentiellement investi du temps (et de l'argent ?) dans la duplication de ce que vous auriez pu utiliser sans aucun effort de développement et de documentation.
Ajoutant l'insulte à l'injure, chaque hôte géré par WordPress, tel que Pantheon et WPEngine, propose chacun ses propres solutions de configuration arbitrairement incompatibles pour prendre en charge sa propre offre WordPress gérée.
Voici comment divers hébergeurs gérés par WordPress vous gèrent et/ou vous limitent avec wp-config.php .
Si vous connaissez la façon dont d'autres sites Web WordPress gérés gèrent wp-config.php veuillez envisager de soumettre une demande d'extraction avec de la documentation sur la façon dont ils gèrent leur wp-config.php pour nous aider, ainsi que d'autres.
Quiconque a travaillé avec WordPress sait comment configurer les informations d'identification de la base de données WordPress via les constantes PHP DB_HOST , DB_NAME , DB_USER et DB_PASSWORD . Cela semble simple et facile lorsque vous commencez à travailler avec WordPress, mais avec le temps, vous réalisez que cela rend la configuration très rigide car vous ne pouvez pas mettre en cascade les configurations depuis les paramètres par défaut de WordPress, les paramètres par défaut de votre projet, vers les spécificités de votre environnement et enfin vers la configuration de votre hébergeur.
Un meilleur WPConfig n'élimine pas l'utilisation de constantes immuables mais attend plutôt que toutes les configurations en cascade soient fusionnées avant de define() ces constantes. (Mais cela pourrait être une première étape pour éradiquer l’utilisation des constantes define() de PHP de WordPress. C’est une idée, car les constantes immuables de PHP rendent les tests automatisés des fonctionnalités de WordPress beaucoup plus difficiles qu’ils ne devraient l’être.)
Malheureusement, il n'existe pas de moyen simple de trouver toutes les options disponibles pour le noyau WordPress, car elles sont implicites dans la base de code de WordPress et dans divers emplacements documentés en ligne. Un meilleur WP-Config résout (principalement) ce problème avec "wp_config()->print_config() , analogue à phpinfo()
De nombreuses options de configuration n'ont pas de valeurs par défaut, comme la configuration de la base de données qui ajoute à l'apprentissage requis pour le développement local. Better WP-Config fournit des options par défaut pour toutes les options « connues » .
En soi, vous pourriez proposer un ensemble de conventions réalisables pour pouvoir contrôler la version de votre configuration pour tous les différents environnements dont votre projet a besoin - nous l'avons fait - mais vous réalisez ensuite que chaque hébergeur le gère différemment et essaie comme vous le pouvez. , vous avez l'impression qu'il est impossible de trouver une solution cohérente que votre équipe puisse utiliser et qui fonctionnerait avec les différents hébergeurs Web que vous et vos clients avez choisis.
Pour mieux comprendre pourquoi cela est difficile, assurez-vous de lire comment Pantheon et WPEngine gèrent respectivement leurs fichiers wp-config.php .
Enfin, les problèmes liés au flux de travail professionnel et aux cas d'utilisation du contrôle de version, exacerbés par les choix incompatibles faits par les hébergeurs Web WordPress gérés simplement en raison du manque de standardisation de wp-config.php , rendent le déploiement plus difficile que nécessaire. Cela s'applique que vous utilisiez le téléchargement SFTP, le déploiement Git comme celui de Pantheon ou le déploiement via un fournisseur d'intégration continue comme CircleCI.
La bonne nouvelle est que Better WP-Config résout (presque) tous ces problèmes, aujourd’hui ! Commencez .
Nous sommes vraiment satisfaits de la qualité de Better WP-Config . Cependant, les choses pourraient être :
Idéal si les forks ClassicPress et CalmPress adoptaient Better WP-Config pour la configuration,
Encore mieux si les hébergeurs gérés par WordPress standardisaient Better WP-Config pour leurs services, ou
Mieux encore, WordPress lui-même utilisait Better WP-Config pour les nouvelles installations, tout en conservant une prise en charge continue des sites existants qui utilisent déjà wp-config.php comme c'est le cas depuis des années.
GPLv2