
El equipo del framework Yii PHP ha lanzado la versi贸n 2.0.16, que contiene m谩s de cien correcciones y algunas mejoras . Se corrigieron varios problemas de seguridad.
La rama Yii 2.0 se congel贸 hace m谩s de un a帽o , lo que significa que acepta principalmente correcciones. Esto se hizo para permitir que el equipo de Yii se concentre en Yii 3. Al final de esta publicaci贸n hay un poco m谩s de informaci贸n sobre Yii 3.
Esta versi贸n incluye varios cambios que pueden afectar las aplicaciones existentes. Aseg煤rese de leer UPGRADE.md .
Muchas gracias a los miembros de la comunidad Yii que est谩n involucrados en el desarrollo. Sin usted, un proyecto a gran escala no hubiera sido posible. Un agradecimiento especial a los traductores que mantienen la documentaci贸n actualizada.
A continuaci贸n se presentan las mejoras m谩s interesantes que a煤n lograron filtrarse en el lanzamiento. La lista completa, como de costumbre, se puede encontrar en CHANGELOG .
Registro activo
Salem Ouerdani, @tunecino agreg贸 comportamiento para un bloqueo optimista.
El bloqueo optimista permite a m煤ltiples usuarios editar simult谩neamente un registro y evitar posibles conflictos en el lado del servidor. En el caso de que un usuario intente guardar ediciones basadas en datos desactualizados (porque otro usuario ya se ha guardado), se StaleObjectException
una StaleObjectException
y no se realiza ninguna actualizaci贸n o eliminaci贸n.
El mecanismo de dicho bloqueo se implement贸 en las primeras versiones de Yii, pero usarlo correctamente no fue tan simple. Ahora simple
La documentaci贸n se puede encontrar en el manual oficial.
y la API OptimisticLockBehavior .
Migraciones
El generador de migraci贸n de consola ahora usa prefijos de tabla por defecto. Si desea cambiar esto, puede establecer yii\console\controllers\MigrateController::useTablePrefix
en false
en la configuraci贸n del comando de consola.
Bases de datos
- El controlador MySQL ahora admite una precisi贸n fraccional de segundo para tipos temporales (se requiere MySQL> = 5.6.4).
- El controlador de Oracle ahora admite secuencias de reinicio.
Ayudantes
yii\helpers\Inflector
aprendi贸 a trabajar correctamente con UTF-8.- Se agreg贸 la bandera
yii\mutex\FileMutex::$isWindows
para la bola de Windows en m谩quinas invitadas Unix. yii\helpers\ReplaceArrayValue
yii\helpers\UnsetArrayValue
, yii\helpers\ReplaceArrayValue
ahora se pueden restaurar despu茅s de la serializaci贸n utilizando var_export()
.
Vista de cuadr铆cula
Se agreg贸 la opci贸n $filterOnFocusOut
, que determina si el filtrado debe realizarse cuando se pierde el foco.
jQuery
Ahora puede instalar jQuery 3.3.
Mutex
- La frecuencia de los intentos de obtener un bloqueo
yii\mutex\FileMutex::acquireLock()
aumenta si $timeout
proporciona $timeout
. - Se agreg贸 soporte para
$timeout
en yii\mutex\PgsqlMutex::acquire()
.
Correcciones de seguridad
Se han solucionado dos problemas de seguridad:
- CVE-2018-14578: omita la validaci贸n de token CSRF en
\yii\web\Request::getMethod()
- CVE-2018-19454: registro excesivo de informaci贸n confidencial en
\yii\log\Target
Plantillas de aplicaci贸n
- Las configuraciones de codecepci贸n se limpiaron tanto en las plantillas b谩sicas como en las avanzadas.
- Se ha agregado una configuraci贸n simple para Docker a la plantilla Avanzado.
- La plantilla avanzada ahora requiere una versi贸n m谩s nueva de Codeception, que solo funciona desde PHP 7.0. Las aplicaciones antiguas funcionar谩n como antes.
Un poco sobre Yii 3.0
La pr贸xima versi贸n principal de Yii ser谩 3.0. Un anuncio detallado ser谩 m谩s tarde, pero por ahora brevemente:
Arquitectura actualizada : el marco se divide en paquetes separados .
Esto le permitir谩 recolectar de ellos lo que necesita.
Independiente de JavaScript : junto con la reorganizaci贸n del c贸digo fuente, Yii se desvincula del marco de JavaScript en el n煤cleo.
Los paquetes Key Yii no requieren jQuery.
Compatible con PSR : Yii 3 seguir谩 las recomendaciones de PHP-FIG. Ya se han implementado muchos PSR: registro, cach茅, DI y otros.
Yii 3.0 est谩 en desarrollo activo. Se har谩 un anuncio detallado al llegar a la versi贸n alfa.