SpeedPHP 3 ha pasado de admitir únicamente MySQL/Smarty a admitir varios tipos de bases de datos, así como múltiples motores de plantillas y motores de almacenamiento en caché de datos.
SpeedPHP 3 fortalece y mejora la mayoría de las funciones y arquitectura originales, logrando un equilibrio entre rapidez, ligereza y facilidad de expansión.
SpeedPHP 3 ha solucionado todos los errores y errores desde SpeedPHP2 y su estabilidad ha alcanzado un nuevo nivel.
Actualizar de SpeedPHP versión 2 a SpeedPHP versión 3 es muy simple y solo requiere los siguientes pasos:
Descargue archivos SpeedPHP 3.
Elimine los archivos originales de SpeedPHP 2 y reemplácelos con archivos SpeedPHP 3.
Para la aplicación SpeedPHP 2 original, necesita agregar la función spRun() en la parte inferior del archivo de entrada para poder iniciar la aplicación.
Los archivos HTML estáticos generados por el spHtml original deben eliminarse y la carpeta temporal (normalmente el directorio tmp) debe eliminarse y regenerarse.
El cuadro de entrada de contraseña cifrada en el spAcl original se ha convertido en una extensión independiente en SpeedPHP 3. Vaya a la sección de extensión del foro de SpeedPHP para descargar la nueva extensión md5password (el cuadro de entrada de contraseña cifrada original) para instalarla y usarla.
Cómo utilizar SpeedPHP 3:
El uso de SpeedPHP 3 es básicamente el mismo que el de la segunda edición de SpeedPHP, por lo que el manual de la segunda edición de SpeedPHP también se puede utilizar en SpeedPHP 3.
Varias instrucciones de configuración de bases de datos Instrucciones de configuración del motor de plantillas Instrucciones de configuración de caché Uso sencillo del motor de plantillas rápido Presentamos nuevas características:
1. Admite múltiples tipos de bases de datos: MySQLi, Sqlite, Oracle, MsSQL, PDO, etc.
2. Agregue la versión de la rama SAE de computación en la nube de SAE y la versión de la rama de GBK (exclusivamente para la plataforma de computación en la nube de Sina).
3. Admite múltiples motores de plantillas: Smarty, Template Lite, speedy, etc.
4. Admite múltiples mecanismos de almacenamiento en caché: Memcache, Xcache, APC, eAccelerator, etc.
5. Mejorar la estructura del controlador del motor de plantillas y de la base de datos, mejorar la estructura lógica del controlador y la clase de vista, hacerlo más razonable y ahorrar aún más recursos.
6. Se han reforzado muchas funciones originales, se ha mejorado la función estática de generación spHTML y se ha mejorado el modo URL estático.
7. Agregue spRun, spDB, reemplace, AFfectedRows, runSql, escape,
8. Se han corregido muchos errores desde el lanzamiento de la segunda versión de SpeedPHP y se ha mejorado enormemente la estabilidad.
9. Para mantener una configuración de aplicación coherente, los miembros de SP2 solo necesitan agregar spRun al archivo de entrada.
10. Mantenlo simple, fácil de aprender y liviano.
Registro de cambios
Se actualizó la extensión UrlRewrite, se agregó el mapeo de controlador/acción, se eliminó la ocultación principal/índice y se puede configurar la ocultación de parámetros.
Se agregó la función miembro de escape para reemplazar __val_escape para el filtrado de cadenas y se corrigió el modo de valor de la plantilla. Si el valor es falso, no se enviará a la plantilla. Esto puede adaptarse a la deficiencia de que el bucle de Smarty no puede determinar si existe un valor.
Se modificó la lógica de procesamiento de la función de reemplazo de miembro de spModel para evitar agregar nuevos registros por error cuando no hay cambios en los datos.
Optimice el modo de salida automática de páginas; la salida automática ahora la opera spController.
Se corrigió un problema de aviso en la función de importación. Se corrigió la forma en que se manejan los valores nulos en el controlador. Se eliminaron sentencias de registro de ejecución SQL redundantes de algunas bases de datos. Se corrigieron los controladores de Oracle y MsSQL. Se corrigió un error en el controlador sqlite. Se corrigió el error de que el controlador pdo no podía obtener datos.
La función __val_escape de spModel se modifica para juzgar nulos, números, etc. spCache se define como una clase afiliada a spModel de un solo uso. Similar a spVerifier, no se puede llamar varias veces. Elimine los parámetros no válidos de spLinker. Solucione el problema en la función getTable del controlador mssql. Restaure el constructor de spController. código del objeto de vista instanciado en el constructor spController. Se trasladó a spRun.
Se corrigió el procesamiento lógico de la configuración 'url_path_base' y se solucionó el problema del procesamiento del nombre de la tabla en el límite en el controlador mssql.
El marco SpeedPHP se une a la bifurcación de la versión del entorno de computación en la nube SAE
El marco SpeedPHP agregó una rama de la versión GBK y revisó la información de derechos de autor en los archivos de código del marco SpeedPHP.
spModel agrega un método de reemplazo para actualizar los registros que cumplen con las condiciones. Si el registro no existe, se agregará un nuevo registro.
Se corrigió la lógica de borrar los datos del buscapersonas de spPager. Se corrigió la lógica de la función has de spArgs que determinará si la variable existe y si la longitud del valor de la variable es mayor que 0.
spError registrará la información del error utilizando error_log en el entorno de lanzamiento.
Protegido el aviso de error de inicialización de session_start. Lógica y método de solicitud de spHtml optimizados. Se corrigió la forma de registrar funciones de vista. Puede admitir objetos, nombres de clases y nombres de funciones como identificadores registrados. Se ajustó el método de solicitud y la lógica de spHtml para eliminar las configuraciones inútiles url_getter y url_setter en html, y usar directamente las funciones miembro de spHtml.
Se corrigió que el valor de retorno de __val_escape fuera nulo.
spModel agrega un método runSql. runSql reemplazará la consulta para ejecutar declaraciones SQL. El método de consulta se conserva para compatibilidad futura, pero se recomienda utilizar el método runSql con un significado más claro.
spModel agrega el método afectadoRows() para obtener la cantidad de registros afectados por las operaciones de actualización, creación y otras.
La función spRun se agrega para separar el proceso central de speedphp y los dos pasos de ejecutar el código de usuario, de modo que se puedan agregar algunos códigos de operación que requieren bibliotecas de clases pero antes de que se ejecute el código de usuario. Al mismo tiempo, al actualizar a esta versión del marco, debe realizar una modificación en el archivo de entrada: en el archivo de entrada (generalmente index.php): require(SP_PATH."/SpeedPHP.php" debajo de esto); línea, agregue spRun() llamada de función.
La variable conn basada en base de datos se modifica a pública
Mejore el método de campo de spHtml para los parámetros, use json_encode para reemplazar el serialize menos eficiente y de tipo estricto, de modo que los parámetros de la página generada puedan ser más libres y eficientes. Sin embargo, al mismo tiempo, en el código existente actualizado a esta modificación. Será necesario regenerar archivos HTML estáticos.
Cuando la configuración predeterminada de url_path_base está vacía, el archivo de entrada es /index.php
Se corrigieron errores tipográficos en la clase spAccessCache. Se agregó la configuración de sp_notice_php. Se modificó el mensaje de aviso de que no se puede encontrar el método spContrller. Se protegió el mensaje de AVISO generado cuando se sobrescribió la matriz de configuración spConfigReady. problemas de nombres de objetos registrados por la función de plantilla y los eliminó la característica experimental "Cuadro de entrada de contraseña cifrada".
La clase spAccessCache admite la expansión de la función spAccess con más métodos de almacenamiento en caché en forma extendida. Actualmente, los tipos de controladores de caché admitidos por spAccessCache son los siguientes: Esto permite a los desarrolladores tener una solución de motor de plantillas rápida y sencilla además de motores de plantillas como Smarty.
Se agregaron clases de controlador de base de datos db_pdo, db_pdo_mysql, db_pdo_sqlite para admitir la interfaz de base de datos PDO. Actualmente, los enlaces PDO mysql y sqlite son compatibles y se agregan a la clase de controlador de base de datos SAE MySQL para agregarse a la clase de controlador de base de datos db_oracle de Oracle. Se admiten tipos de bases de datos para agregarlos a la clase de controlador de base de datos db_sqlite, admitir el tipo de base de datos Sqlite para unirse a la clase de controlador de base de datos db_mssql, admitir el tipo de base de datos MSSQL para unirse a la clase db_mysqli, admitir el tipo de controlador de base de datos MySQLi, cambiar la base de datos mysql. nombre del controlador a db_mysql, agregue el método de formato límite, modifique el método de creación de instancias en el constructor db_mysql y agregue soporte para mysql. El modo de enlace largo de la base de datos se agrega al archivo de la biblioteca de clases TemplateLite. Las dos variables $tbl_name y $_db se cambian a. public.El constructor de spModel se reescribe para admitir controladores de múltiples tipos de bases de datos. Una vez obtenidos los datos de paginación, se eliminarán, lo que no causará confusión en los siguientes datos de paginación. Se modificó la forma en que las sentencias SQL implementan la lógica de límite para hacer frente al problema de que algunos tipos de bases de datos no pueden admitir la sintaxis de límite.
Junto con spController, se cambia la instancia del motor de plantilla. Se mejoró la forma de asignar valores al controlador del motor de plantillas para realizar un procesamiento tolerante a fallas de funciones afiliadas a plantillas para admitir motores de plantillas que no pueden registrar funciones de plantilla. Mejore el método de lectura en red de spHtml para evitar el problema de no poder leer archivos pero generar páginas HTML en blanco. Agregue la serie CURL de métodos de lectura de red para usar cuando file_get_contents no pueda leer datos de red. Mejore el mensaje de file_get_contents y detecte si el entorno PHP prohíbe la lectura de la red cuando falla la lectura de la red. Restringe spHtml para generar solo archivos HTML dentro del alcance de APP_PATH. Se corrigieron problemas de lógica en las funciones de lectura y generación de URL de spHtml.
Las variables del motor de plantillas de spController se han redefinido para admitir múltiples motores de plantillas. Se solucionó un problema de lectura de la función __get. Se solucionó el problema de que cuando spArgs obtiene el valor, el valor predeterminado no puede ser 0.
Se cambió el valor predeterminado de la configuración db_driver_path y se agregó la función spDB que puede lograr un atajo simplemente usando la subclase spModel y operar directamente en la tabla (propiedad de spModel) sin la definición de la subclase spModel. Elimine el signo comercial de spConfigReady, solucione el problema de la ruta de salida automática de la plantilla, cambie la ubicación del controlador mysql, transfiera el directorio Smarty y transfiera el controlador mysql, elimine el archivo spDB y la función spDB se colocará en spFunctions como función principal en el futuro.
Agregue el directorio Controladores y coloque la clase de controlador del programa principal. Cuando la vista esté cerrada, aún puede usar $this->variables y $this->display para la asignación de plantillas. Sin embargo, la sintaxis de su plantilla debe ser la sintaxis PHP normal.
Expandir