Yii PHP Framework es un software basado en web de código abierto, libre y independiente de la plataforma que proporciona un framework PHP de alto rendimiento basado en componentes, especialmente diseñado para permitir a los programadores web desarrollar aplicaciones web a gran escala basadas en web Aplicaciones.
Yii está escrito en OOP estricto (programación orientada a objetos), es fácil de aprender, incluye componentes altamente reutilizables, y puede reducir su tiempo de desarrollo significativamente, ya que sólo necesita saber la programación orientada a objetos y PHP para usarlo .
Características de un vistazo
Las características clave incluyen patrón de diseño MVC (Model-View-Controller), widgets habilitados para AJAX, servicios web, registro y manejo de errores, generación automática de código, migración de bases de datos, biblioteca de extensiones, constructor de consultas, soporte DAO , Así como documentación completa.
Además, el software ofrece pruebas unitarias, pruebas de funcionalidad, creación de temas y depuración, autorización y autenticación incorporadas, soporte para código de terceros, esquema de almacenamiento en caché en capas, validación y entrada de formularios, localización e internacionalización y soporte de Active Record.
Gracias al modelo MVC adoptado, Yii es capaz de ofrecer un SoC limpio (Separación de preocupaciones, simplificando el desarrollo y mantenimiento de aplicaciones Web. También se admite el control de acceso basado en funciones jerárquico (RBAC), así como muchos otros Atractivas e innovadoras.Introducción a Yii PHP Framework
Para instalar y utilizar Yii PHP Framework en su plataforma, descargue la última versión de Softoware o a través del sitio web oficial del proyecto (ver enlace al final del artículo), donde se distribuye en dos ediciones, Basic y Advanced .
Guarde el archivo en algún lugar de su computadora, extraiga su contenido con su utilidad de administrador de archivos favoritos, abra su cliente FTP preferido, conéctese al servidor donde desee implementar Yii PHP Framework y transfiera todos los archivos a una carpeta en la raíz De su servidor.
El proyecto está soportado en todas las distribuciones de Linux que cuentan con instalaciones de Apache y PHP 5.4 actualizadas y saludables. Las arquitecturas de hardware soportadas incluyen 32 bits (x86) y 64 bits (x86_64).
¿Qué es nuevo en esta versión:
- La versión 2.0.11 es una versión menor de Yii 2.0 que contiene más de 110 mejoras y correcciones de errores.
Qué es nuevo en la versión 2.0.1:
- Bug # 4471: yii caching ApcCache :: getValues () devuelve matriz en caso de que APC esté instalado pero no habilitado en modo CLI (samdark, cebe)
- Bug # 4823: se mejoraron la precisión de los mensajes y la gestión de errores (samdark)
- Bug # 4889: La aplicación estaba entrando en el bucle de redireccionamiento cuando el usuario no estaba autorizado a acceder a la página de inicio de sesión. Ahora muestra 403 (samdark)
- Bug # 5070: El generador del controlador Gii debe usar el nombre de la clase del controlador en lugar del ID del controlador para especificar el nuevo controlador (qiangxue)
- Bug # 5402: El depurador no se estaba cargando cuando existían cierres en clases de activos (samdark)
- Bug # 5448: El formateador de fecha estaba haciendo la conversión de fuso horario en valores de fecha solamente dando como resultado una fecha diferente mostrada que proporcionada (cebe)
- Bug # 5452: Los errores que ocurren después de enviar la respuesta no se muestran (qiangxue)
- Bug # 5521: Corregido yii console controllers AssetController rompe las URL CSS, que empiezan desde '/' (klimov-paul)
- Bug # 5570: yii bootstrap Tabs lanzaría una excepción si el contenido no está configurado para uno de sus elementos (RomeroMsk)
- Bug # 5584: yii rbac DbRbacManager no debe eliminar elementos al eliminar una regla en una base de datos que no soporta la actualización en cascada (mdmunir)
- Bug # 5601: Condiciones simples en Query :: where () y ActiveQuery :: where () no permitieron que yii db Expression se usara como valor (cebe, stevekr)
- Bug # 5619: yii log Target no debe intentar iniciar la sesión cuando no hay ninguno (klimov-paul, qiangxue)
- Bug # 5657: yii caching ApcCache :: mset () y madd () pueden causar advertencias en alguna configuración de APC (LAV45)
- Bug # 5665: Los metadatos currentPage en el resultado RESTful deben estar basados en 1, similar al de los encabezados HTTP (qiangxue)
- Bug # 5682: El comando asset combinaría incorrectamente archivos CSS cuando UrlManager :: linkAssets es true (dmvslv)
- Bug # 5702: El paréntesis debe agregarse automáticamente a Validator :: whenClient para evitar el error js (mdmunir, qiangxue)
- Bug # 5745: Gii y módulos de depuración pueden causar una excepción 404 cuando la ruta contiene guiones (qiangxue)
- Bug # 5748: Smarty {path generaba URLs absolutas en lugar de relativas (samdark, motzel)
- Bug # 5768: Al configurar el atributo de confirmación de datos en un botón de envío, al hacer clic en el botón no se activaría la presentación del formulario (qiangxue)
- Bug # 5780: QueryBuilder :: batchInsert () puede causar & quot; índice no definido & quot; Error (qiangxue)
- Bug # 5833: El comando de mensaje falla con un error de restricción FK al intentar actualizar mensajes (qiangxue)
- Bug # 5863: La selección de todas las casillas individuales yii grid CheckboxColumn en vista de cuadrícula no resultó en & quot; all & quot; Casilla de verificación seleccionada (samdark)
- Bug # 5893: yii helpers ArrayHelper :: toArray () ahora aplica el parámetro $ properties para convertir objetos descendentes en llamadas recursivas (otsec)
- Bug # 5925: ArrayHelper :: htmlEncode () no funciona correctamente cuando el valor que se está codificando es un arreglo anidado (tebazil)
- Bug # 5962: DateValidator lanzaba una advertencia en fechas no válidas usando el formato ICU en Windows, Yii ahora funciona alrededor de este error de PHP (cebe)
- Bug # 5997: El mismo mensaje puede ser exportado dos veces para registrar objetivos (klimov-paul)
- Bug # 6018: Al configurar la opción de codificar a través de yii widgets ActiveRecord :: errorOptions, funciona al revés (stanishevsky, qiangxue)
- Bug # 6049: yii db Connection :: getSchema () para Oracle debe devolver false cuando la tabla no existe. Oracle no admite la cláusula ON UPDATE. (Wenbin1989)
- Bug # 6081: yii rbac DbManager :: getChildren () no estaba citando correctamente el nombre de la columna (wenbin1989)
- Bug # 6107: el mensaje yii estaba vaciando las traducciones existentes en .po en caso de varias categorías (samdark)
- Error # 6112: el mensaje yii escribía incorrectamente las cadenas no traducidas en .po en caso de varias categorías (samdark)
- Bug # 6172: yii rbac DbManager debe citar correctamente nombres de tabla y columna (qiangxue)
- Bug # 6164: Se ha agregado soporte faltante para yii db Expression a QueryBuilder BETWEEN y LIKE conditions (cebe)
- Bug # 6236: No se deben registrar scripts JS cuando yii widgets ActiveForm :: enableClientScript es falso (qiangxue)
- Error # 6150: yii bootstrap Tabs dropdown IDs se generaron incorrectamente (samdark)
- Bug # 6266: Al hacer clic en el botón de reinicio no se oculta el resumen de errores cuando se utiliza ActiveForm (InteLigent, qiangxue)
- Bug # 6271: El caché de consultas devuelve los mismos datos al ejecutar el mismo SQL con diferentes modos de búsqueda (grachov)
- Bug # 6279: yii db Schema :: getLastInsertID () pasaba el nombre de esquema predeterminado equivocado a PDO (samdark)
- Bug # 6305: yii i18n Formatter :: asParagraphs () no era unicode-aware (samdark)
- Error # 6311: El bloqueo optimista para ActiveRecord no funciona como se esperaba (qiangxue)
- Bug # 6367: Añadido yii gii generators crud Generator para soportar la ruta de vista de personalización del controlador CRUD generado (qiangxue)
- Bug # 6381: La validación del archivo del lado del cliente debe desactivarse si el navegador no lo admite (Skysplit)
- Bug: La información de ayuda del comando de la consola Gii no contiene opciones globales (qiangxue)
- Bug: yii web UrlRule no pudo crear URLs para reglas que contienen caracteres unicode (samdark)
- Bug: yii web AssetManager no debe publicar bundles de activos deshabilitados (qiangxue)
- Enh # 608: Añadido yii web AssetConverter :: $ forceConvert (klimov-paul)
- Mejora # 4146: Añadido yii bootstrap ButtonDropdown :: $ containerOptions (samdark)
- Mejora # 4181: Añadido yii bootstrap Modal :: $ headerOptions y yii bootstrap Modal :: $ footerOptions (tuxoff, samdark)
- Mejora # 4263: Migración añadida y archivos de esquema SQL para yii log DbTarget (samdark)
- Enh # 4395: Se agregó el parámetro $ checkAjax a yii web Response :: redirect () para dar soporte al comportamiento de redirección predeterminado para las peticiones AJAX / PJAX (qiangxue)
- Mejora # 4450: Añadido yii bootstrap Nav :: renderDropdown () (qiangxue)
- Enh # 4457: Añadido soporte para el uso de noscript para archivos css registrados a través de paquetes de recursos y helper de HTML (samdark)
- Enh # 4492: Soporta la sintaxis específica de PostgreSQL para QueryBuilder :: alterColumn () (qiangxue)
- Enh # 4643: Las opciones adicionales especificadas en yii widgets Breadcrumbs :: links serán tratadas como atributos HTML para los hipervínculos generados (qiangxue)
- Mejora # 4739: Mejor visualización de excepciones cuando el formato de respuesta se establece como & quot; raw & quot; Formato (qiangxue)
- Enh # 4791: Se ha añadido soporte de salida de consola y más colores para comandos de consola (6pblcb, samdark, klimov-paul, Ragazzo)
- Enh # 5005: Añadido soporte para suprimir la carga de los mismos archivos CSS en respuestas AJAX (tof06, qiangxue)
- Enh # 5223: El constructor de consultas admite ahora la selección de sub-consultas como columnas (qiangxue)
- Enh # 5367: Añadido yii grid DataColumn :: encodeLabel (SDKiller)
- Enh # 5480: Añadido código defensivo a yii web User :: getIdentity () para evitar la recursión infinita potencial (qiangxue)
- Enh # 5494: Añadido soporte para especificar un encabezado de menú como una matriz de configuración en yii bootstrap Dropdown (hiltonjanfield, qiangxue)
- Enh # 5503: Añadido soporte para DateTimeImmutable a Formatter (olegtsvetkov, cebe)
- Enh # 5587: json_encode ahora se utiliza con JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE donde tiene sentido, también es el valor predeterminado para Json :: encode () (samdark)
- Enh # 5600: Permitir configurar paneles de depuración en yii debug Module :: paneles como cadenas de nombres de clases de panel (qiangxue)
- Enh # 5613: Añadida la opción --overwrite al comando de la consola Gii para soportar la sobrescritura de todos los archivos (motin, qiangxue)
- Enh # 5627: Se agregó el comando yii cache / flush-schema console para limpiar el caché del esquema DB de una conexión de base de datos determinada (6pblcb, samdark)
- Enh # 5646: Llame yii base ErrorHandler :: unregister () en lugar de restaurar _ * _ handlers directamente (aivus)
- Enh # 5683: Se ha añadido yii i18n Formatter :: defaultTimeZone para especificar la zona horaria por defecto que se utilizará para los valores de datetime almacenados en la base de datos (cebe)
- Enh # 5688: Se ha añadido el $ formName opcional a Model :: loadMultiple () para dar soporte a la personalización del nombre de formulario directamente (qiangxue)
- Mejora # 5735: Añadido yii bootstrap Tabs :: renderTabContent para soportar manualmente el contenido de la pestaña de representación (RomeroMsk)
- Mejora # 5770: Se agregaron más nombres de errores PHP para ErrorException (mongosoft)
- Los botones Enh # 5799: yii bootstrap ButtonGroup :: pueden tomar todas las opciones soportadas por yii bootstrap Button (aleksanderd)
- Enh # 5806: Permitir que Html :: encode () sea usado cuando la aplicación no se inicia (qiangxue)
- Enh # 5954: El comando yii message ahora muestra un error de usuario si no es capaz de analizar el archivo fuente (samdark)
- Enh # 5983: Añadido Inflector :: sentencia () (pana1990, qiangxue)
- Mejora # 6113: Configuración mejorada del depurador y UI de solicitud (schmunk42)
- Enh # 6207: Añadido soporte para truncar cadenas HTML usando StringHelper :: truncate () y StringHelper :: truncateWords () (Alex-Code)
- Mejora # 6318: Hizo que los widgets fueran más tolerantes a errores y fáciles de usar cuando ciertos valores de opciones fueran nulos (qiangxue)
- Enh: Console :: confirm () ahora usa Console :: stdout () en lugar de echo para ser coherente con todas las demás funciones (cebe)
- Mejora: yii rbac La migración de DbManager ahora utiliza el componente de base de datos especificado en la configuración de componentes en lugar de usar siempre db (samdark) predeterminado.
- Mejor: Añadido yii base Controller :: renderContent () (qiangxue)
- Enh: el comando yii fixture ahora ofrece ayuda si no se proporcionan argumentos en lugar de fallar (samdark)
- Chg # 3630: yii db Command :: queryInternal () ahora está protegido (samdark)
- Chg # 4277: yii grid GridView ya no está lanzando una excepción cuando los resultados están vacíos y las columnas no están definidas (samdark)
- Chg # 5508: Se ha eliminado el soporte para la opción --append del comando fixture (qiangxue)
- Chg # 5874: Actualización de Bootstrap de Twitter a 3.3.x (samdark)
- Apidoc Extension (yii2-apidoc):
- Bug # 5623: Corregido el bloqueo cuando una clase contiene un setter que no tiene argumentos, p. SetXyz () (cebe)
- Bug # 5899: Clase incorrecta listada como definidaPor referencia para propiedades (cebe)
- Bug: Guía y procesador de API ahora trabajan con rutas / URLs (cebe) relativas
- Enh: El generador de guías ahora salta el directorio de imágenes si no existe en lugar de lanzar un error (cebe)
- Mej: opción Made --guidePrefix disponible como opción de línea de comandos (cebe)
- Extensión Authclient (yii2-authclient)
- Bug # 6000: CCS fijo para yii authclient widgets AuthChoice no se carga si popupMode deshabilitado (klimov-paul)
- Extensión de Bootstrap (yii2-bootstrap):
- Bug # 5570: yii bootstrap Tabs lanzaría una excepción si el contenido no está configurado para uno de sus elementos (RomeroMsk)
- Error # 6150: yii bootstrap Tabs dropdown IDs se generaron incorrectamente (samdark)
- Mejora # 4146: Añadido yii bootstrap ButtonDropdown :: $ containerOptions (samdark)
- Mejora # 4181: Añadido yii bootstrap Modal :: $ headerOptions y yii bootstrap Modal :: $ footerOptions (tuxoff, samdark)
- Mejora # 4450: Añadido yii bootstrap Nav :: renderDropdown () (qiangxue)
- Enh # 5494: Añadido soporte para especificar un encabezado de menú como una matriz de configuración en yii bootstrap Dropdown (hiltonjanfield, qiangxue)
- Mejora # 5735: Añadido yii bootstrap Tabs :: renderTabContent para soportar manualmente el contenido de la pestaña de representación (RomeroMsk)
- Los botones Enh # 5799: yii bootstrap ButtonGroup :: pueden tomar todas las opciones soportadas por yii bootstrap Button (aleksanderd)
- Chg # 5874: Actualización de Bootstrap de Twitter a 3.3.x (samdark)
- Extensión de depuración (yii2-debug):
- Bug # 5402: El depurador no se estaba cargando cuando existían cierres en clases de activos (samdark)
- Bug # 5745: Gii y módulos de depuración pueden causar una excepción 404 cuando la ruta contiene guiones (qiangxue)
- Enh # 5600: Permitir configurar paneles de depuración en yii debug Module :: paneles como cadenas de nombres de clases de panel (qiangxue)
- Mejora # 6113: Configuración mejorada y UI de solicitud (schmunk42)
- Mejor: Made DefaultController :: getManifest () más robusto contra archivos corruptos (cebe)
- Extensión elasticsearch (yii2-elasticsearch):
- Bug # 5662: Elasticsearch AR updateCounters () ahora utiliza un script explícitamente groovy para actualizar lo que lo hace compatible con ES & gt; 1.3.0 (cebe)
- Bug # 6065: ActiveRecord :: unlink () fallaba en algunas situaciones al trabajar con relaciones a través de atributos de valor de array (cebe)
- Enh # 5758: Permitir pasar opciones personalizadas a ActiveRecord :: update () y :: delete () incluyendo soporte para el enrutamiento necesario para actualizar registros con la relación padre (cebe)
- Enh: Añade soporte para bloqueo optimista (cebe)
- Extensión Gii (yii2-gii):
- Bug # 5070: El generador del controlador Gii debe usar el nombre de la clase del controlador en lugar del ID del controlador para especificar el nuevo controlador (qiangxue)
- Bug # 5745: Gii y módulos de depuración pueden causar una excepción 404 cuando la ruta contiene guiones (qiangxue)
- Bug # 6367: Añadido yii gii generators crud Generator para soportar la ruta de vista de personalización del controlador CRUD generado (qiangxue)
- Bug: La información de ayuda del comando de la consola Gii no contiene opciones globales (qiangxue)
- Enh # 5613: Añadida la opción --overwrite al comando de la consola Gii para soportar la sobrescritura de todos los archivos (motin, qiangxue)
- Extensión de Mongodb (yii2-mongodb):
- Bug # 6026: Corregido yii mongodb ActiveRecord guarda null como _id, si los atributos están vacíos (klimov-paul)
- Enh # 3855: Se agregó el panel de la barra de herramientas de depuración para MongoDB (klimov-paul)
- Enh # 5592: Añadido soporte para la operación 'findAndModify' en yii mongodb Query y yii mongodb ActiveQuery (klimov-paul)
- Redis Extensión (yii2-redis):
- Bug # 4745: el valor de los retornos de cadena simple fue ignorado por redis client y true se devolvió en su lugar, ahora sólo OK resultará en un true mientras que todos los demás valores se devuelven como es (cebe)
- Enh # 3714: Se ha añadido soporte para conectarse al servidor redis mediante un socket unix (savvot, robregonm)
- Extensión de Smarty (yii2-smarty):
- Bug # 5748: {path generaba URLs absolutas en lugar de relativas (samdark, motzel)
- Extensión de la esfinge (yii2-sphinx):
- Bug # 5601: Condiciones simples en Query :: where () y ActiveQuery :: where () no permitieron que yii db Expression se usara como valor (cebe, stevekr)
- Bug # 5634: Fijo yii sphinx QueryBuilder no soporta operadores de comparación (& gt ;, = etc) donde especificación (klimov-paul)
- Bug # 6164: Se ha agregado soporte faltante para yii db Exression a QueryBuilder LIKE conditions (cebe)
- Enh # 5223: El constructor de consultas admite ahora la selección de sub-consultas como columnas (qiangxue)
- En esta versión, arreglamos más de 80 bugs E introdujo más de 60 mejoras y características menores. Hemos añadido CPasswordHelper que proporciona una forma segura y actualizada de almacenar y verificar hashes de contraseñas; Agregamos CRedisCache para apoyar el uso de Redis para el propósito de almacenamiento en caché; Y Yii ahora se puede instalar como un paquete de Composer.
- Esta versión corrige principalmente los problemas de BC-breaking encontrados en la versión anterior.
- Incluye aproximadamente 20 correcciones de errores, características menores y mejoras.
- Errores corregidos:
- # 098: No se devuelve ningún valor de identidad correcto al utilizar Active Record y mssql (c-schmitz)
- # 114: CUniqueValidator y CExistValidator ahora respetan el alias de la tabla al crear la condición de la consulta del db (klimov-paul)
- # 145: CGettextMoFile ahora puede analizar cadenas sin contexto (eagleoneraptor)
- # 148: Corregido el error en la demo del blog que no eliminaba el comentario correcto cuando no estaba en la primera página (mdomba)
- # 161: CCookieCollection :: remove () ahora acepta una matriz de opciones de cookie como segundo argumento para facilitar la eliminación correcta de cookies (maximcherny)
- # 164: CEmailValidator.checkPort comprueba ahora el puerto 25 de los servidores MX listados (DaSourcerer)
- # 178: la creación de webapp con rutas relativas como ../ no funcionaba correctamente (cebe)
- # 193: Cambió el tipo de columna de fecha y hora para postgresql desde 'time' hasta 'timestamp' (cebe)
- # 238: Solucionado el problema de que la fila vacía podría seleccionarse en CGridView cuando no había datos (mdomba)
- # 295: A veces CJSON :: decode devuelve null porque json_encode nativo tiene bugs y devuelve null. Solución para continuar la descodificación cuando el resultado de json_decode es null (luislobo)
- # 381: Corregido el error que la entrada del nombre del modelo Gii podría tener mal escrito cuando se usa autocompletar (mdomba)
- # 417: CAttributeCollections :: mergeWith () no tiene en cuenta el casoSensitive (dmtrs)
- # 433: Corregido el error que el autocompleto de entrada del nombre del modelo Gii no funcionaba a veces (mdomba)
- # 449: CDbHttpSession y CDbLogRoute ahora utilizan el constructor de consultas en lugar de DAO para la cotización adecuada (mdomba, redguy)
- # 454: Se eliminó la traducción en la excepción de CDbConnection ya que estaba creando un bucle sin fin si la aplicación utilizaba CDbCache (mdomba)
- # 517: Los sub-patrones de parámetros de reglas no se comprueban correctamente (ranvis)
- # 539: Corregido CUrlRule :: createUrl () para tratar los sub-patrones como Unicode como parseUrl () hace (ranvis)
- # 553: Los criterios de los buscadores de AR relacionados se vieron afectados después de realizar find con ámbitos relacionales (marcovtwout)
- # 618: Caché fijo de CWebUser :: checkAccess () cuando se llama por primera vez con y por segunda vez sin $ params (cebe)
- # 660: Corregido error al llamar a CDbCache :: getValues (zilles)
- # 697: Fijo WSDLGenerator ahora generando un espacio de nombres apropiado para ciertos tipos complejos (BBoom)
- # 749: CActiveRecord :: refresh () no funcionó en afterSave () para nuevos registros, ahora se actualizará siempre, cuando existe la entrada db (cebe)
- # 769: Corregido el error que $ .fn.yiiGridView.getSelection no estaba funcionando siempre si se usaba una plantilla personalizada CGridView :: (mdomba)
- # 772: CHttpRequest :: getIsSecureConnection () fallaba en algunas condiciones (bulletbee, samdark)
- # 773: Los filtros de CGridView ahora filtran en clave de entrada en Internet Explorer (BBoom)
- # 803: Los enlaces no clasificados de Arbitary en el encabezado de CDataColumn no funcionaban correctamente (resurtm)
- # 827: Solucionado el problema de que CJuiSliderInput estaba haciendo un atributo de nombre para el elemento div (mdomba)
- # 842: La inserción de registros activos falla en MSSQL si una columna tiene un valor predeterminado de (NULL) (c-schmitz)
- # 852: Solucionado el problema de que CActiveForm no revalidaba los campos si se utilizaba ajax submit (mdomba)
- # 859: Corregido CSort :: applyOrder () y CSort :: getOrderBy () para utilizar alias de tabla personalizada (troch, samdark)
- # 865: CLogRoute llamó a processLogs () incluso si la matriz de registro estaba vacía y causó mensajes de correo electrónico vacíos y archivos de registro (cebe)
- # 879: Solucionado un posible error de PHP causado por CWebUser :: restoreFromCookie () en combinación con CHttpRequest.enableCookieValidation (kidol)
- # 901: Se solucionó el problema de codificación posible en la excepción (mdomba, samdark, cebe)
- # 1000: Añadidos parámetros al token de creación de perfiles en CDbCommand :: execute () para ser consituido con CDbCommand :: queryInternal () (cebe)
- # 1045: Construir una consulta con una matriz vacía como parámetro no resultará en una cadena de caracteres sql rota (suralc)
- Corregido CMenu :: isItemActive () para funcionar correctamente cuando hay un hash en el URL del elemento (SlKelevro)
- Se ha agregado la instrucción return que falta a CAuthItem- & gt; revoke () (mdomba)
- CHtml :: resolveValue () ignorando el accesor de elementos de matriz al principio del atributo $ attribute ahora funciona correctamente (resurtm)
- Mejora:
- # 120: Añadida la capacidad de establecer cookies en un estilo basado en objetos sin especificar el nombre de la cookie dos veces (suralc)
- # 136: Añadida capacidad para seleccionar la conexión de la base de datos en el generador de modelos Gii (samdark)
- # 157: Se agregó la capacidad de usar modelos con objetos que implementan ArrayAccess como propiedades en CHtml :: resolveValue (samdark)
- # 165: Permitir que CCacheDependency sea reutilizable a través de varias llamadas de caché (phpnode)
- # 171: Añadido soporte para la solicitud PUT y DELETE tunneled a través de POST a través del parámetro named _method en el cuerpo de POST (musterknabe)
- # 179: CLogger ahora admite el filtrado de temporizaciones de perfiles por categorías múltiples y comodín (intel352)
- # 191: Se agregó la capacidad de personalizar las clases HTML de CLinkPager a través de sus propiedades públicas (mashingan)
- # 206: Añadida la capacidad de pasar el objeto CDbCriteria como parámetro de relación AR (samdark)
- # 215: Añadido tokens a CGridView :: updateSelectors para permitir la adición de selectores personalizados en lugar de sustituir sólo (mdomba)
- # 220: La URL que apunta a la API de Google en CGoogleApi es ahora relativa al protocolo (suralc)
- # 237: Las pestañas de CTabView ahora admiten la propiedad 'visible' (DaSourcerer)
- # 255: Ordena CArrayDataProvider cuando los elementos son CActiveDataProvider u otro objeto (rusmaxim)
- # 266: Añada compatibilidad con HTML5 url, correo electrónico, número, rango y fecha a CHtml (gregmolnar)
- # 267: CDbHttpSession ahora es capaz de almacenar la carga binaria tal como la salida del serializador igbinary (DaSourcerer, samdark)
- # 282: Añadido CCheckBoxColumn :: headerTemplate para permitir encabezados personalizados (mdomba)
- # 286: Añadido token de comodín a CDateTimeParser (cebe)
- # 294: Añadido deniedCallback a CAccessControlFilter y CAccessRule para permitir el control de reenvío a un método de denegación (luislobo)
- # 342: Añadida la capacidad de pasar parámetros para RBAC bizRules desde CAccessControlFilter configuration (claudejanz, samdark)
- # 356: Extensibilidad mejorada de CDetailView añadiendo el método renderItem () (cebe)
- # 369: Añadido $ hashKey a CCache (kidol)
- # 414: Se agregó el parámetro sort al comando de mensaje yiic que ordena los mensajes por clave al fusionar (ranvis)
- # 455: Añadido soporte para el valor predeterminado en CConsoleCommand :: prompt (eagleoneraptor)
- # 551: Se agregó el parámetro $ safe a CJavaScript :: encode. Si se establece en true, 'js:' no se permitirá. Si necesita pasar JavaScript, envuelva su código con CJavaScriptExpression en su lugar (samdark)
- # 552: Se ha añadido soporte para el almacenamiento en caché en http a través de CHttpCacheFilter (DaSourcerer)
- # 568: CHtml :: getIdByName () ahora convertirá espacios en subrayado para obtener la identificación adecuada para elementos HTML (mdomba)
- # 578: Se agregaron comprobaciones de extensión a CMemCache (samdark)
- # 581: Se agregó el método formatSize en CFormatter para dar formato a los tamaños de archivo en unidades de orden diferente - KB, MB, etc (brilyuhns, samdark)
- # 584: WebAppCommand refactorizado para ser más personalizable, agregó más PHPDoc (samdark)
- # 599: Comprobación de sensibilidad de mayúsculas al cargar automáticamente las clases (qiangxue)
- # 601: agregó el método loginRequired () a la interfaz IWebUser (mdomba)
- # 616: CVarDumper es ahora correctamente highligting claves de matriz de enteros (vernes, samdark)
- # 641: Añadido soporte para personalizar métodos de serialización para componentes de caché (DaSourcerer, Qiang)
- # 648: Se agregó la propiedad filterHtmlOptions al componente CGridColumn (juban)
- # 652: Agregado espacio de nombres a los eventos yiiGridView, para que puedan ser eliminados fácilmente por .off () método jQuery (Bethrezen)
- # 673: Cambiado CClientScript :: scripts para ser público (mdomba)
- # 675: CDateFormat :: format () ahora devuelve null si el parámetro $ time es null (mdomba)
- # 690: Se agregó el nombre del remitente y los encabezados adecuados para la codificación UTF8 al enviar el correo electrónico en SiteController- & gt; actionContact () (mdomba)
- # 766: Añadido 'userId' a $ params en CDbAuthManager :: checkAccess () y CPhpAuthManager :: checkAccess () (cebe)
- # 666: Propiedad agregada $ excepto a CValidator, una lista de escenarios que el validador no debería aplicarse a (resurtm)
- # 839: CListView :: renderItems ahora resuelve el archivo de vista una sola vez (nizsheanez)
- # 938: CFileValidator :: sizeToBytes () ahora es público y está disponible para su uso en la aplicación completa (resurtm)
- # 943: CDateTimeParser ahora es capaz de analizar la representación textual corta del mes, p. Jan, Jun, Aug (resurtm)
- # 967: Los comandos de la variable de entorno YII_CONSOLE_COMMANDS ahora se añaden siempre a la aplicación de consola yiic (schmunk)
- CFileValidator podría validar el archivo subido por su tipo MIME, agregó $ mimeTypes y $ wrongMimeType propiedades (resurtm)
- Traducción fija rumana para usar los caracteres de cedilla mejor apoyados (tudorilisoi)
- Se agregó el valor predeterminado a CConsoleCommand :: confirm (musterknabe)
- Se ha permitido devolver valores enteros como código de salida de aplicación en acciones de CConsoleCommand (cebe)
- Se agregó el tercer parámetro a CHttpCookie para configurar la cookie por array (suralc)
- Añadido getIsFlashRequest (), manejo adecuado de la solicitud de Flash / Flex cuando se utiliza CWebLogRoute con FireBug (resurtm)
- Añadidas las propiedades de CBreadcrumbs :: $ activeLinkTemplate y CBreadcrumbs :: $ inactiveLinkTemplate que permite cambiar la plantilla de cada elemento (resurtm)
- Añadido comportamientos completos y eventos CConsoleCommand :: onBeforeAction & CConsoleCommand :: onAfterAction (Yiivgeny)
- Añadido soporte de historia HTML5 en las solicitudes de ajax en CGridView y CListView usando History.js v1.7.2-r2 (https://github.com/balupton/history.js) de Benjamin Arthur Lupton (lightglitch)
- Cambiado CldrCommand para usar dateTimeFormat medio y datos actualizados 18n usando el CLDR (tanakahisateru) más reciente (6546)
- Añadido CErrorHandler :: getHttpHeader () para enviar códigos de error HTTP correctos (pgaultier)
- CGridView, sólo las filas en tbody deben tener efecto hover (mdomba)
- CClientScript :: $ defaultScriptFilePosition y CClientScript :: $ defaultScriptPosition para controlar el argumento default $ position para registerScriptFile y registerScript (resurtm)
- CHttpCookie implementa ahora __toString (suralc)
- Posibilidad de establecer un espacio de nombres para los controladores de módulos mediante CWebModule :: controllerNamespace, documentación sobre el uso de controladores y módulos con nombres y espacios (samdark)
- Añadida la posibilidad de establecer el contenedor para CHtml :: radioButtonList y CHtml :: checkBoxList () (pgaultier)
- Añadido zii rumano (ro) traducción; Editado mensajes básicos para incluir caracteres rumanos adecuados con marcas diacríticas (tudorilisoi)
- Se agregó la interfaz de ILogFilter como una alternativa al uso de CLogFilter como clase base para implementar los filtros de registro (cebe)
- CAssetManager, agregó la propiedad $ forceCopy que obliga a la publicación global de archivos y directorios de recursos (resurtm)
- WebAppCommand tiene capacidad para generar aplicaciones nuevas con archivos específicos de git o hg (resurtm)
- Plantillas predeterminadas Gii: agregó metadatos adicionales (PHPDoc) de las variables pasadas a las vistas para un mejor autocompletado del IDE (resurtm)
- Aplicación WebAppCommand generada: agregó metadatos adicionales (PHPDoc) de las variables pasadas a las vistas para un mejor autocompletado del IDE (resurtm)
- # 1053: CComponent :: evaluateExpression permitirá utilizar funciones globales como devoluciones de llamada (Ekstazi)
- Cambios:
- # 384: CWebUser :: changeIdentity () ahora borrará el archivo de datos de sesión no utilizado (Qiang)
- # 440: Actualización de JQuery UI a 1.8.22 (samdark)
- # 497: Se agregó el componente de registro y lo precargó en la configuración de la aplicación de consola predeterminada para registrar correctamente los errores (samdark)
- Actualizó jQuery a 1.7.2 (samdark)
- Se han añadido más pruebas unitarias para CHtml (resurtm)
- Actualizó el analizador de desglose agrupado a v1.2.5 (DaSourcerer)
- Nuevo:
- Se agregó el comando de compilación TranslationsCommand destinado a ayudar a los equipos de traducción (samdark)
- Esta versión corrige principalmente varios errores críticos en CActiveForm, CJuiDatePicker y yiilite.php que fueron introducidos en la versión 1.1.9.
- Bug # 1080: Corregir la fusión recursiva para CDbCriteria :: with (creocoder, Sam Dark)
- Error # 1624: Corregido el error que Gii generaría sólo una relación para un padre que tiene un hijo con más enlaces FK (mdomba)
- Bug # 1809: Corregido el error que CPgsqlSchema no detectó los nombres de secuencia correctamente en algunos escenarios (Qiang)
- Bug # 1984: Se corrigió el evento de disparo varias veces cuando se utiliza live () / delegate () en las páginas AJAXified (Ekstazi, Sam Dark)
- Bug # 2026: Corregido el error que el comando de migración no respeta el valor de la propiedad connectionID (Qiang)
- Bug # 2032: Corregido el error que beginCache con renderDynamic no funcionaba si se usaba varias veces (mdomba)
- Bug # 2037: Corregido CGridView js error en selectionChanged & quot; sboxname no está definido & quot; (Mdomba)
- Bug # 2060: Corregido el error que CWebUser :: getFlashes () devolvería una matriz de contadores en el resultado (Qiang)
- Bug # 2097: CHttpRequest :: getUrl () debe ser el mismo que getRequestUri (Qiang)
- Bug # 2099: Corregido CDbCriteria :: mergeWith error (creocoder, Sam Dark)
- Bug # 2107: Corregido el error que llama CSqliteSchema :: resetSequence () puede lanzar excepción cuando no hay columna de autoincremento (Qiang)
- Bug # 2130: Corregido bug que la vista de código / diff de Gii no estaba empezando desde arriba (mdomba)
- Error # 2131: Corregido el error que CGridView ajax llamaría alguna vez mostraría una alerta de error al salir de la página actual (mdomba, Qiang)
- Bug # 2136: El filtro CGridView utiliza ahora jQuery serialize () en lugar de param () para que se pueda usar una casilla de verificación como filtro (mdomba)
- Bug # 2140: Corregido el problema de que CGridView incluso filas donde no se procesa correctamente en Firefox y Chrome (mdomba)
- Bug # 2146: Corregido el error en CFileHelper :: getExtension, validatePath y getMimeTypeByExtension que no encontró la extensión de archivo correctamente (mdomba)
- Bug # 2169: Corregido el error que algunas columnas no se citan correctamente en MigrateCommand (Qiang)
- Bug # 2178: Corregido el error que el constructor de consultas no reconocía la palabra clave AS cuando se usaba alias de tabla (Qiang)
- Bug # 2183: Corregido el error que llamaba CActiveDataProvider :: getTotalItemCount () explícitamente haría desaparecer los ámbitos aplicados (Qiang)
- Bug # 2188: 'join' en ámbitos predeterminados es ahora respetado por las relaciones STAT (creocoder, Sam Dark)
- Bug # 2202: Corregido el error que al configurar CJuiDatePicker.flag = true, el selector de fecha no aparecería (Qiang)
- Bug # 2214: Corregido el error que renameColumn para MSSQL no funcionó correctamente (Qiang)
- Bug: Corregido el error que un aviso de PHP puede producirse en la vista de excepción si un método en la pila de llamadas tiene una firma muy compleja (Qiang).
- Bug: Corregido el error que CGridview rompe al actualizar elementos no-cgridview (mdomba)
- Error: arreglado el error en CCheckBoxColumn, & quot; marcar todo & quot; Checkbox no estaba siendo marcada / desmarcada cuando era necesario (mdomba)
- Bug: Corregido el error en CGridView, selectionChanged no se llamó cuando & quot; marca todo & quot; Se hizo clic (mdomba)
- Bug: Corregida la secuencia de restablecimiento en CDbCommand :: truncateTable (Sam Dark)
- Bug: Corregido la incompatibilidad de CMemCache con algunas versiones pecl-memcache y memcached (Sam Dark)
- Mejora # 558, # 1755: Añadidos ámbitos parametrizados, ámbitos añadidos a criterios, criterios de alcance implementados fusionando (creocoder, Sam Dark)
- Mejora # 802: Añadido administración de URL RESTful (Qiang)
- Mejora # 923: Mejora CUrlManager :: parsePathInfo () para soportar matrices de entrada multidimensionales (Qiang)
- Enh # 1117: Añadido soporte para & quot; a & quot; a través de & quot; En las relaciones Active Record que permiten manejar los datos de la tabla de asociación (creocoder, Sam Dark)
- Enh # 1285: Añadido soporte para el uso de paquetes de scripts personalizados con CClientScript (Qiang)
- Mejora # 1741: atributos de CActiveForm :: y atributos SummaryID (Qiang) expuestos
- Enh # 1770: Se agregó la propiedad CDbColumnSchema :: autoIncrement para permitir comprobar si una columna de DB es auto-incremental (Qiang)
- Enh # 1782: Propiedades de updateSelector agregadas tanto a CGridView como a CListView (Qiang)
- Enh # 1786: Enhanced CUrlValidator mediante la adición de la propiedad 'validSchemes' y 'defaultScheme' (Y !!)
- Enh # 1784: Enhanced CWidget :: getViewPath () para dar soporte a la ruta de visualización temática (Qiang)
- Enh # 1792: CGridView mejorado: en el error ajax se compone y se muestra un mensaje adecuado o se envía opcionalmente al manejador de errores personalizado (mdomba)
- Enh # 1795: Añadido CFormInputElement :: $ enableAjaxValidation y $ enableClientValidation para permitir activar / desactivar la validación de AJAX para campos de entrada individuales (Qiang)
- Enh # 1816: Agregó el parámetro $ dumpLogs a CLogger :: flush () para que los mensajes de log puedan ser forzados a ser descargados a voluntad (Qiang)
- Enh # 1843: Añadida la opción 'uncheckValue' a CHtml :: activeRadioButtonList y CHtml :: activeCheckBoxList. Permite evitar el renderizado de campo oculto (creocoder, Sam Dark)
- Enh # 1847: CClientScript :: $ hasScripts (Qiang) expuestos
- Enh # 1852: Añadido CWebUser :: authTimeout para admitir la separación entre el tiempo de espera de autenticación y el tiempo de espera de la sesión (Qiang)
- Enh # 1868: CDbConnection abrirá una conexión de DB sólo cuando sea necesario, a menos que autoConnection esté establecida true (Qiang)
- Enh # 1937: Se ha añadido soporte para usar un ID de entrada personalizado para los campos de entrada que necesitan una validación AJAX (Qiang)
- Enh # 1993: Permitir relaciones AR a través de conexiones db separadas (Qiang)
- Enh # 1996: Añadido soporte para el uso del enlace de parámetros con acciones basadas en clases (Qiang)
- Enh # 1999: Añadida propiedad CCaptchaAction :: offset para disminuir o aumentar la legibilidad del captcha (Y !!)
- Enh # 2011: Añadido CDbCommand :: setFetchMode para permitir el ajuste del modo de obtención de resultados PDO (Sam Dark)
- Mejora # 2013: Al crear un modelo con Gii, los nombres de los campos de la base de datos se verifican para ajustarse a las reglas de asignación de variables de PHP (mdomba)
- Enh # 2024: Añadido CHttpRequest :: getPut () y getDelete () para apoyar completamente las peticiones RESTful (Qiang)
- Enh # 2059: Se ha añadido soporte para respetar el parámetro & quot; target & quot; Atributo de un elemento generado por CHtml con & quot; submit & quot; Opciones de HTML (Qiang)
- Enh # 2063: El JavaScript de CActiveForm debería activar correctamente validaton para los campos de entrada de tipo de casilla de verificación y radio (Y !!)
- Enh # 2068: CTimestampBehavior :: timestampExpression ahora puede ser una expresión de DB (Qiang)
- Enh # 2093: CDataColumn ahora renderizará siempre un filtro si la propiedad filter es una cadena (Qiang)
- Enh # 2094: Se ha añadido una declaración de sentencias SQL en modo de depuración cuando se produce un error mientras se ejecuta un SQL (Qiang)
- Enh # 2105: Añadido CButtonColumn :: afterDelete para que una función javascript personalizada pueda ser llamada después de la función delete (mdomba)
- Enh # 2108: Añadido CGridView :: blankDisplay para permitir personalizar la visualización de celdas en blanco (Qiang)
- Mejora # 2125: Añadido cheque de memcached y sugerencia al comprobador de requisitos (Sam Dark)
- Mejora # 2133: Establece el enfoque predeterminado en la entrada de contraseña para la página de inicio de sesión de Gii (Qiang)
- Mejora # 2141: Permitir que la opción 'etiqueta' de los elementos de menú CMenu sea opcional y tome un valor de cadena vacío (Qiang)
- Mejora # 2142: Añadido CWebUser :: autoUpdateFlash (Qiang)
- Enh # 2143: Añadió htmlOptions a CTreeView :: data para que se puedan establecer opciones adicionales para cualquier nodo de vista de árbol (mdomba)
- Mejora # 2172: Añadido CDbMigration :: execute () (Qiang)
- Enh # 2179: Añadidas las opciones CMultiFileUpload :: para que se puedan pasar opciones adicionales al constructor del objeto multifile (mdomba)
- Mejora # 2185: Permitir que el tipo de columna sea opcional al especificar columnas para CGridView (Qiang)
- Enh # 2197: Añadido parámetro de escape $ a CDbCriteria :: compare () (Qiang)
- Mejora # 2198: CJuiTabs mejorado para que el contenido de la pestaña se pueda omitir (Qiang)
- Enh # 2199: Añadido CListView :: separator (Qiang)
- Enh # 2206: Se agregó el parámetro $ clearErrors a CModel :: validate () (Qiang)
- Enh # 2209: Añadido CDbConnection :: setAttributes () y getAttributes () para apoyar la inicialización de la conexión DB con los atributos PDO (Qiang)
- Enh # 2226: Se agregaron más tokens a summaryText cuando CBaseListView.enablePagination se establece false (Qiang)
- Mejora # 2227: Expuestos CActiveRecord :: query () (Qiang)
- Enh: Añadido CGridView :: ajaxUpdateError para la posibilidad de utilizar un controlador de error ajax personalizado (mdomba)
- Enh: Se permite usar CController en lugar de Controller con aplicación generada por webapp (Sam Dark)
- Enh: Añadida la capacidad de realizar una consulta Relacional sin obtener modelos relacionados (creocoder, Sam Dark)
- Enh: la página de error muestra ahora las claves de la matriz asociativa en la lista de parámetros (Sam Dark)
- Mejor: Añadido CController :: getActionParams () y invalidActionParams () para permitir la personalización de la característica de enlace de parámetros de acción (Qiang)
- Enh: Añadido CEvent :: $ params (Qiang)
- Enh: CStringValidator ahora usa el charset de la aplicación por defecto si mb_strlen está disponible (Sam Dark)
- Chg # 2001: CGridView hace ahora el pie de página después del contenido corporal (Qiang)
- Chg # 2111: Llamando CActiveRecord :: getRelated ($ name, true) ahora repetirá la consulta de DB incluso si isNewRecord es true (qiang)
- Chg # 2144: Actualización de la interfaz de usuario jQuery a la versión 1.8.11 (Sam Dark)
- Chg # 2148: JQuery actualizado a la versión 1.5.1 (Sam Dark)
- Chg # 2163: CConsoleCommand :: usageError () saldrá ahora con el código de error 1 (Qiang)
- Chg: jQuery UI ahora utiliza CSS minificado (Sam Dark)
- Chg: Se ha eliminado el complemento de dimensiones de jQuery ya que está en el núcleo de jQuery (Sam Dark)
- Chg: bgiframe actualizado a 2.1.2 (Sam Dark)
- Nuevo # 1763: Se ha añadido soporte para realizar la validación de datos de cliente sin problemas con CActiveForm (Qiang, hightman)
- Nuevo # 2069: Añadido CDateValidator (Qiang)
- Nuevo: Añadido soporte para el caché de consultas (Qiang)
- Nuevo: se han añadido traducciones lituanas (tomas.valacka)
- Se ha agregado un constructor de consultas SQL
- Implementación de la compatibilidad con la migración de bases de datos
- Soporte mejorado para el uso de formularios plurales y datos CLDR i18n actualizados a la versión 1.9
- Mejor visualización de excepciones en modo Web y visualización de errores en modo consola
- Añadido soporte para el uso de parámetros anónimos y opciones globales en comandos de consola
- Añadido soporte para el uso de X-Sendfile para enviar archivos
- Esta versión incluye más de 80 correcciones de errores y mejoras de funciones .
- Compatibilidad con el uso de acciones en comandos de consola, que toman las opciones de la línea de comandos como parámetros de las acciones.
- Compatibilidad con las vistas de tema generadas por los widgets.
- Compatibilidad con la importación y el autoloading de clases PHP 5.3 que están aprovechando el uso del espacio de nombres.
- Compatibilidad con la devolución de resultados de ActiveRecord indexados por un atributo especificado.
- En esta versión, se incluyeron más de 60 correcciones de errores y mejoras de características.
- Algunas de las mejoras importantes incluyen la adición de soporte para la vinculación de parámetros de acción automática desde $ _GET; La adición de CSqlDataProvider y CArrayDataProvider; La adición de CUrlManager :: addRules () para apoyar la adición dinámica de reglas de enrutamiento de URL; Y la refactorización de CActiveRecord para que CActiveRecord :: with () siempre devuelve el propio objeto AR.
Lo nuevo en la versión 1.1.14:
Novedades en la versión 1.1.12:
Qué es nuevo en la versión 1.1.11:
Qué es nuevo en la versión 1.1.10:
Qué es nuevo en la versión 1.1.7:
Novedades en la versión 1.1.6:
Novedades en la versión 1.1.5:
Qué es nuevo en la versión 1.1.4:
Comentarios que no se encuentran