variable sesiones mostrar guardar ejemplos datos cookie cache _cookie php configuration-files

sesiones - mostrar cookie php



¿Cuál es la mejor manera de almacenar las variables de configuración en PHP? (4)

Necesito almacenar un montón de información de configuración en PHP.

He considerado lo siguiente ...

// Doesn''t seem right. $mysqlPass = ''password''; // Seems slightly better. $config = array( ''mysql_pass'' => ''password'' ); // Seems dangerous having this data accessible by anything. but it can''t be // changed via this method. define(''MYSQL_PASSWORD'', ''password''); // Don''t know if this is such a good idea. class Config { const static MYSQL_PASSWORD = ''password''; }

Esto es todo lo que he pensado hasta ahora. Tengo la intención de importar esta información de configuración en mi aplicación con require /config.inc.php .

¿Qué funciona para usted con respecto al almacenamiento de datos de configuración, y cuáles son las mejores prácticas al respecto?


Generalmente uso el segundo método ... Al manejar conexiones de base de datos, generalmente abro una conexión al comienzo de la solicitud, luego la cierro al final. Tengo una función que establece la conexión, luego elimina el nombre de usuario / contraseña de la matriz global (con la función unset ()). Esto evita que otras partes del sistema accedan a los datos de conexión de MySQL "sensibles".


Siempre he optado por la opción # 2 y solo me aseguro de que nadie excepto el propietario tenga CUALQUIER tipo de acceso a ella. Es el método más popular entre las aplicaciones PHP como Joomla, vBulletin, Gallery y muchas otras.

El primer método es demasiado complicado para mí (legibilidad) y el tercero es demasiado peligroso de hacer. Nunca he pensado en el método de clase, por lo que alguien más puede proporcionar su opinión sobre ese. Pero supongo que está bien siempre y cuando se use el acceso correcto en el uso de la clase.

Ejemplo..

define(''EXAMPLE1'', "test1"); // scenario 1 $example2 = "test2"; // scenario 2 function DealWithUserInput($input) { return eval($input); }

Ahora este ejemplo de código es realmente tonto, pero solo un ejemplo. Considere qué podría devolver la función según el escenario que el usuario podría intentar usar en su entrada.

El escenario 2 solo causaría un problema si lo hiciera global dentro de la función. De lo contrario, está fuera del alcance e inalcanzable.


También estoy con la opción 2 para la mayoría de los valores de configuración. Si fueras a implementar la Clase, yo ataría los valores específicos a la Clase a la que afecta en lugar de a una Clase de configuración general.

En su ejemplo, su clase sería para conexiones de base de datos y una instancia guardaría la contraseña, db_name, etc. Esto encapsularía los datos correctamente y también proporcionaría un medio fácil para crear múltiples conexiones si alguna vez se necesitaba.


Yo diría que también depende un poco de la base de usuarios. Si las configuraciones tienen que ser muy fáciles de usar o el usuario debe tener la capacidad de cambiar la configuración a través de la web, etc.

Yo uso Zend Config Ini para esta y otras configuraciones se almacenan en SQL DB.