J'ai écrit une petite application PHP que j'aimerais distribuer. Je suis à la recherche de bonnes pratiques pour pouvoir l'installer sur la plupart des hébergeurs avec un minimum de tracas.Distribution d'une petite application PHP
En résumé: C'est un outil simple qui permet aux utilisateurs de télécharger des fichiers une fois qu'ils se sont connectés avec un mot de passe.
Mes questions sont les suivantes:
1) Comment dois-je gérer les valeurs de configuration? Je n'utilise pas de base de données, donc un fichier de configuration semble approprié. Je sais que d'autres applications php (par exemple Wordpress) utilisent des définitions, mais elles sont globales et il existe un risque de conflit entre les noms. (Les variables globales ont aussi le même problème, évidemment.) J'ai regardé le mécanisme de fichier "ini" construit en PHP. Il ne permet que les commentaires en haut - vous ne pouvez donc pas annoter facilement chaque paramètre - et vous ne pouvez pas valider la syntaxe avec "php -f". Autres options?
2) Comment gérer les modèles? L'application doit pomper un formulaire. Peut-être avec un message d'erreur. (par exemple "Désolé, mauvais mot de passe".) J'ai une variable de classe avec le formulaire HTML, mais j'autorise également l'utilisation d'un fichier de gabarit externe (spécifié dans la configuration). Je fais une recherche triviale et remplace - par exemple. % SCRIPT% au nom du script,% STATUS% pour contenir le message d'erreur. Cela ressemble un peu à réinventer la roue, mais inclure un système de template comme Smarty est exagéré. (De plus, ils peuvent déjà avoir un système de modèle.) Autres options? 3) i18n - Il n'y a que 3 chaînes de message, et gettext ne semble pas être installé universellement. Est-ce une si mauvaise idée de faire ces trois paramètres de chaînes dans le fichier de configuration?
4) Comment s'intégrer au mieux avec d'autres frameworks? Mon application est une classe unique. Donc, j'ai pensé que je pourrais juste inclure un script PHP qui a montré comment la classe a été appelée. Ce serait un point de départ pour les personnes qui ont dû l'intégrer dans un autre cadre, mais aussi bien pour ceux qui ne sont pas intéressés par la personnalisation. Raisonnable?
5) Paramètres GET/POST - Est-ce une mauvaise forme pour une classe de regarder $ _GET et $ _POST? Est-ce que toutes les valeurs doivent être passées dans ma classe pendant la construction?
Merci.
J'adore ce style de configuration! Je vais l'essayer maintenant. –