Cuando creamos una aplicación, la mayoría de nosotros almacenamos datos credencial como configuración base de datos u otros directamente en el código del programa. Si hemos trabajado en equipo en la construcción de un proyecto de aplicación, podría ser entre desarrollador utilizar credencial diferente.
Sin duda, este tipo de cosas obstaculizarán el trabajo en equipo porque tienen que igualar credencial Entre desarrollador primero. Sin mencionar que también tenemos que configurar los datos credencial Entre medio ambiente.
En el marco de CodeIgniter, podemos separar datos credencial Entre medio ambiente separándolo con un directorio. Sin embargo, estos datos seguirán yendo al repositorio de Git.
También es menos eficaz y menos seguro porque todos los colaboradores del proyecto pueden conocer los datos. credencial que podría ser que solo ciertas personas pueden almacenar datos credencial los.
He experimentado este tipo de problema al administrar datos credencial en entorno de desarrollo, momento en el que hubo un conflicto sobre el arreglo configuración de la base de datos al hacer unir en el repositorio.
Además, también tengo que cambiar otras configuraciones en el servidor producción que, como sabemos, la configuración en CodeIgniter se encuentra en diferentes archivos. Entonces tenemos que editar uno por uno el archivo de configuración de acuerdo con el medio ambiente que usamos.
Para organizar datos credencial que están separados entre sí lleva bastante tiempo. Hasta que finalmente nosotros (yo y otro equipo de desarrolladores) discutimos y decidimos usar el .env como un lugar para almacenar todos los datos credencial. Esta toma de decisiones también se inspiró en el marco de Laravel, en el que el marco ya utiliza .env como área de almacenamiento de datos credencialsu. Y aquí implementaremos el .env para ejecutarse en el marco CodeIgniter.
Instalación de phpdotenv en CodeIgniter
Para el primer paso, primero debemos habilitar el compositor en el proyecto CodeIgniter. Explicaré cómo instalar Composer en CodeIgniter más adelante.
- Abra el archivo config.php en la siguiente ruta:
application/config/config.php
- Habilitar compositor
$config['composer_autoload'] = true;
- Ingrese al directorio de la aplicación a través de la línea de comando y ejecute el siguiente comando:
composer require vlucas/phpdotenv ^3.6
composer install
- El primer paso para instalar el paquete PhpDotENV en CodeIgniter está completo.
Configurando phpdotenv en CodeIgniter
En este segundo paso, configuraremos CodeIgniter para que lea automáticamente el archivo .env. Hay varias formas de configurar phpdotenv en CodeIgniter, una de las cuales es usando Hooks. Para usar la función Hooks de CodeIgniter, primero la activamos a través de un archivo config.php contenida en aplicación / config / config.php ser así:
$config['enable_hooks'] = TRUE;
Luego abre el archivo hooks.php contenida en aplicación / config / hooks.php e ingrese el siguiente código:
# Load phpdotenv $hook['pre_system'] = function() { $dotenv = DotenvDotenv::create(APPPATH); $dotenv->load(); };
A continuación, crea un archivo .env en el directorio solicitud. Utilice un editor de texto como Sublime u otros para crear el archivo.
Uso de Env en CodeIgniter
Esta sección es el paso final en la integración .env en CodeIgniter, que utiliza la variable ENVIRONMENT en la configuración predeterminada de CI. Como ejemplo, cambiaré la configuración de la base de datos usando .env.
- Abra el archivo .env que creamos en el paso anterior e ingrese los siguientes datos:
# Database Configuration DB_HOSTNAME="localhost" DB_USERNAME="" DB_PASSWORD="" DB_DATABASE="" DB_DRIVER="mysqli"
- Abra el archivo de configuración database.php contenido en aplicación / config / database.php
- Cambie el valor de la variable de configuración con variables de entorno como el siguiente ejemplo:
'hostname' => getenv('DB_HOSTNAME'), 'username' => getenv('DB_USERNAME'), 'password' => getenv('DB_PASSWORD'), 'database' => getenv('DB_DATABASE'), 'dbdriver' => getenv('DB_DRIVER'),
* NB: el uso de variables de entorno puede usar getenv (), $ _ENV[], $ _SERVER[]
Bueno, así es como integrar el archivo .env en el marco CodeIgniter. Espero que mi escritura sea útil para amigos que tienen o están experimentando el mismo problema que yo. El uso del archivo .env en mi escritura es solo un pequeño ejemplo del uso del paquete phpdotenv en sí, con suerte, los amigos pueden desarrollar el uso de .env.
Un ejemplo del uso de .env en CodeIgniter se puede ver en mi cuenta de github aquí:
https://github.com/sunuazizrahayu/phpdotenv-for-codeigniter
Referencia:
http://roopampoddar.com/2016/01/26/integrating-phpdotenv-env-files-in-codeigniter-3-0-using-hooks/
No Comment! Be the first one.