2010-11-18 14 views
5

Escribo mi primera configuración básica de patrones MVC en PHP. Sé que las variables globales son malas, y también sé que no quiero que todas mis clases tengan acceso a todas mis variables de configuración.Manera correcta de manejar la variable de configuración en la configuración de MVC (PHP)

Tengo un archivo settings.php en el que me gustaría definir un montón de constantes, como mi información de conexión de db, información de estructura de directorios, direcciones de correo electrónico, etc. Será una ubicación centralizada que contiene toda mi información importante.

¿Cuál es la mejor manera de implementar una clase de configuración para que cada una de mis clases base para mi controlador y modelo solo tengan acceso a las variables de configuración que necesitan? Por ejemplo, mi clase base modelo debe tener acceso a información de conexión db.

Básicamente, solo estoy preguntando cómo alguien completo lanza su propia configuración de MVC maneja la información de configuración sin declarar variables globales, como solíamos hacer en los días de procedimiento.

Gracias.

+0

Se llama PMVC. La variable global que evita el meme también es un tanto absurdo si se generaliza en exceso. – mario

+0

Ah man no hay buenas respuestas :( –

Respuesta

0

Hice mi propia configuración de MVC. (Todavía va fuerte. Podría abrirlo). La forma en que lo hago es tener un script de inicio que pasa todas esas constantes a una clase controladora.

La clase de control es un Singleton. Entonces, cada vez que otra clase necesita acceder a ella, solo obtiene la instancia existente de la clase controladora y todas las variables están disponibles desde allí.

2

Vas a obtener un montón de respuestas sobre esto, ya que básicamente se reduce a las preferencias.

personal, ive utiliza una matriz config. ejemplo:

$conf['db']['username'] = "username"; 
$conf['db']['password'] = "password"; 

Luego solo pase por las piezas que necesita a donde deben ir.

Cuestiones relacionadas