Análisis práctico del desarrollo de PHP (6): generación y llamada de archivos de configuración o archivos de caché

1. Descripción del archivo de configuración

En el desarrollo de PHP, los archivos de configuración se utilizan para almacenar la configuración de la aplicación y las opciones de configuración para que el comportamiento de la aplicación se pueda ajustar dinámicamente en tiempo de ejecución. Los archivos de configuración generalmente contienen varias variables de entorno, información de conexión a la base de datos, niveles de registro, configuraciones de caché, etc.

La función del archivo de configuración:

  1. Separación de configuración y código: La información de configuración está separada del código, por lo que modificar la configuración no requiere modificar el código fuente, mejorando así la mantenibilidad del código.
  2. Modifique dinámicamente el comportamiento de la aplicación: al modificar el valor del archivo de configuración, el comportamiento de la aplicación se puede cambiar dinámicamente sin volver a compilar o implementar el código.
  3. Compatibilidad con varios entornos: se pueden admitir diferentes opciones de configuración para varios entornos (como un entorno de desarrollo, un entorno de prueba y un entorno de producción) a través de los archivos de configuración.

Uso del archivo de configuración:

  1. Crear archivo de configuración: cree un archivo de texto, generalmente usando .php, y otros formatos para guardar. La convención de nomenclatura suele ser o ..ini.jsonconfig.phpconfig.ini
  2. Definir opciones de configuración: establezca varias opciones de configuración en el archivo de configuración, almacenado en forma de pares clave-valor. Por ejemplo:
    <?php
    // config.php
    return [
        'database' => [
            'hostname' => 'localhost',
            'username' => 'root',
            'password' => 'password',
            'database_name' => 'mydb'
        ],
        'cache' => [
            'enabled' => true,
            'ttl' => 3600
        ],
        'debug' => false
    ];
    
  3. Cargue la configuración en la aplicación: en el archivo de entrada de la aplicación u otros lugares que necesiten leer la configuración, cargue el archivo de configuración en el código a través de la función includeo . requirePor ejemplo:
    // index.php
    $config = require 'config.php';
    
    // 使用配置中的值
    $hostname = $config['database']['hostname'];
    $username = $config['database']['username'];
    // ...
    
  4. Use las opciones de configuración según sea necesario: use las opciones de configuración cargadas y utilícelas en los lugares apropiados de su aplicación, como conectarse a una base de datos, generar registros, configurar el caché, etc.

Precauciones:

  • La información confidencial en los archivos de configuración (como las contraseñas de la base de datos) se debe mantener lo más confidencial posible y se deben tomar las medidas de seguridad correspondientes (como la configuración de permisos, el cifrado, etc.).
  • Para usar diferentes archivos de configuración en múltiples entornos, puede cargar diferentes archivos de configuración configurando variables de entorno o juzgando según el entorno actual.
  • El formato del archivo de configuración se puede seleccionar de acuerdo con diferentes formatos, como matriz PHP, archivo INI, archivo JSON, etc. Elija el formato que funcione para su aplicación y equipo.
  • Se recomienda mantener los archivos de configuración en una carpeta separada con una copia de seguridad y un control de versiones adecuados para que la configuración se pueda restaurar o revertir fácilmente si es necesario.
  • Para proyectos grandes, puedes considerar el uso de herramientas de administración de configuración (como dotenv, Symfony Config, etc.) para administrar y cargar la configuración de manera más conveniente.

2. Generación de archivos de configuración

/*
 * 生成或更新配置文件
 * */
function update_config()
{
    
    
    /*
     * 配置文件
     * */
    $php_pre = "<?php if (!defined('lock')) {exit('Access Denied');}" . PHP_EOL;
    $config_con = $php_pre;

    //数据库系统配置表
    //$rs = $db->fetchall('config', '*');
    $rs = ["sys_name" => "漏刻有时", "sys_code" => "20230729011"];
    $config_con .= "\$lock_conf=" . array_to_string($rs) . ";";

    //默认短信服务商
    $config_con .= "\$lock_sms='alidayu';";
    //默认快递服务商
    $config_con .= "\$lock_exp='shunfeng';";

    //生成文件;
    write_file("./config.php", $config_con);
}

3. Escribir en el archivo

/*
 * 写入文件
 * $filename,文件名称,可以包含文件路径
 * $contents,文件内容
 * 正常写入,返回1,否则返回0
 * */
function write_file($filename, $contents)
{
    
    
    if ($fp = fopen($filename, "w")) {
    
    
        $contents = trim($contents) == '' ? ' ' : $contents;
        fwrite($fp, $contents);
        fclose($fp);
        return true;
    } else {
    
    
        return false;
    }
}

Cuarto, la llamada del archivo de configuración.

define('lock', TRUE);
require_once "config.php";
echo $lock_sms;

Cinco, matriz a cadena

Al leer la tabla de datos, debe convertir la matriz y la función de encapsulación es la siguiente:

/*
 * 将数组转为一维数组形式的字符串
 * 格式:$str="array('a','b','c')";
*/

function array_to_string($array)
{
    
    
    $res = "array(";
    foreach ($array as $key => $val) {
    
    
        $res .= "'" . $val . "',";
    }
    return rtrim($res, ",") . ")";
}

Resumir

El uso de archivos de caché en PHP tiene los siguientes pros y contras:

ganancia:

  1. Mejore la velocidad de carga de la página: al almacenar en caché el contenido de la página a la que se accede con frecuencia en archivos, se pueden reducir las consultas a la base de datos y las operaciones de cálculo complejas, mejorando así la velocidad de carga de la página y el tiempo de respuesta. Los archivos de caché se pueden generar directamente sin ejecutar la lógica correspondiente.

  2. Reducir la carga del servidor: el uso de archivos de caché puede reducir el acceso frecuente a los recursos del servidor (como bases de datos, recursos informáticos, etc.), reduciendo así la carga del servidor. Esto es especialmente útil para aplicaciones o sitios web con mucho tráfico y puede mejorar el rendimiento y la estabilidad del sistema.

  3. Mejore la escalabilidad y las capacidades de procesamiento concurrente: al almacenar archivos en caché, puede manejar mejor las solicitudes concurrentes y mejorar las capacidades de procesamiento concurrente del sistema. Cada solicitud puede obtener contenido directamente del archivo de caché sin esperar a que se generen y procesen los recursos, lo que mejora la escalabilidad general.

Desventajas:

  1. Coherencia de los datos: cuando cambia el contenido de una página, el uso de archivos de caché puede generar incoherencias en los datos. Es posible que el contenido de los archivos de caché no se actualice a tiempo, mostrando información desactualizada. Por lo tanto, preste atención a la consistencia de los datos cuando use archivos de caché, como usar mecanismos de invalidación de caché o actualizar manualmente el caché.

  2. Sobrecarga de espacio de almacenamiento: el almacenamiento en caché de archivos requiere espacio de almacenamiento adicional. Si el archivo de caché es grande o el tiempo de caché es largo, puede ocupar mucho espacio de almacenamiento, especialmente en aplicaciones a gran escala. Debe sopesarse la relación entre el espacio de almacenamiento y el rendimiento, y los archivos de caché deben limpiarse o actualizarse periódicamente.

  3. Problema de invalidación de caché: si el período de validez del archivo de caché se establece de forma irrazonable o se administra incorrectamente, puede causar el problema de invalidación de caché. Un período de validez demasiado largo puede provocar la obsolescencia de los datos almacenados en caché, mientras que un período de validez demasiado corto puede regenerar archivos de caché con frecuencia, lo que reduce los beneficios de rendimiento. El período de validez de la memoria caché debe establecerse razonablemente de acuerdo con los requisitos comerciales específicos y la frecuencia de actualización de datos.

  4. Problema de actualización de caché: cuando los datos cambian, el archivo de caché correspondiente debe actualizarse manualmente. Si no se administra y mantiene bien, puede causar inconsistencias entre los archivos almacenados en caché y los datos reales. Por lo tanto, al actualizar los datos, los archivos de caché correspondientes deben actualizarse al mismo tiempo para mantener la coherencia.

Cuando se utilizan archivos de caché, es necesario sopesar la eficacia, la coherencia y la sobrecarga de almacenamiento de la memoria caché, y realizar una configuración y gestión razonables según las condiciones específicas. También es una buena práctica limpiar periódicamente los archivos de caché caducados o que ya no se utilizan para garantizar la eficacia de la memoria caché y el rendimiento del sistema.


@ Fuga a veces

Supongo que te gusta

Origin blog.csdn.net/weixin_41290949/article/details/131706064
Recomendado
Clasificación