Escribí una pequeña aplicación PHP que me gustaría distribuir. Estoy buscando las mejores prácticas para que pueda instalarse en la mayoría de los webhosts con una mínima molestia.Distribución de una pequeña aplicación PHP
En pocas palabras: es una herramienta sencilla que permite a las personas descargar archivos una vez que inician sesión con una contraseña.
Así que mis preguntas son:
1) ¿Cómo debo manejar los valores de configuración? No estoy usando una base de datos, por lo que un archivo de configuración parece apropiado. Sé que otras aplicaciones de php (por ejemplo, Wordpress) usan define, pero son globales y existe la posibilidad de que los nombres entren en conflicto. (Las variables globales también tienen el mismo problema, obviamente.) Miré el mecanismo de archivo "ini" integrado en PHP. Solo permite comentarios en la parte superior, por lo que no puede anotar cada configuración fácilmente, y no puede validar la sintaxis con "php -f". ¿Otras opciones?
2) ¿Cómo manejar las plantillas? La aplicación necesita bombear un formulario. Posiblemente con un mensaje de error. (por ejemplo, "Perdón, contraseña incorrecta"). Tengo una variable de clase con el formulario HTML, pero también permite que se use un archivo de plantilla externo (especificado en la configuración). Hago búsquedas y reemplazos triviales, por ej. % SCRIPT% al nombre del script,% ESTADO% para mantener el mensaje de error. Esto se siente un poco como reinventar la rueda, pero incluir un sistema de plantillas como Smarty es excesivo. (Además, es posible que ya tengan un sistema de plantillas). ¿Otras opciones?
3) i18n: solo hay 3 cadenas de mensajes, y gettext no parece estar instalado universalmente. ¿Es tan mala idea hacer estos tres parámetros de cadenas en el archivo de configuración?
4) ¿Cómo se integra mejor con otros marcos? Mi aplicación es una sola clase. Entonces, pensé que podría simplemente incluir un script php que mostrara cómo se llamaba a la clase. Sería un punto de partida para las personas que tenían que integrarlo en otro marco, pero también estarían bien para quienes no estén interesados en personalizarlo. ¿Razonable?
5) Parámetros GET/POST - ¿Está mal que una clase mire $ _GET y $ _POST? ¿Deberían pasar todos los valores a mi clase durante la construcción?
Gracias.
¡Me encanta ese estilo de configuración! Voy a probarlo ahora mismo. –