Como resultado, actualizar desde la versión 1.1 no es tan trivial como actualizar entre versiones menores. En esta
Como resultado, actualizar desde la versión 1.1 no es tan trivial como actualizar entre versiones menores. En esta
guía encontrarás las diferencias más grandes entre estas dos versiones.
guía encontrarás las diferencias más grandes entre estas dos versiones.
Si no has utilizado Yii 1.1 antes, puedes saltear con seguridad esta sección e ir directamente a "[Comenzando con Yii](start-installation.md)".
Si no has utilizado Yii 1.1 antes, puedes saltar con seguridad esta sección e ir directamente a "[Comenzando con Yii](start-installation.md)".
Por favor nota que Yii 2.0 introduce más características de las que son cubiertas en este resumen. Es altamente recomendado
Es importante anotar que Yii 2.0 introduce más características de las que van a ser cubiertas en este resumen. Es altamente recomendado
que leas a través de toda la guía definitiva para aprender acerca de todas ellas. Hay posibilidades de que algunas
que leas a través de toda la guía definitiva para aprender acerca de todas ellas. Hay muchas posibilidades de que algo que hayas desarrollado anteriormente para extender Yii, sea ahora parte del núcleo de la librería.
características que ya has desarrollado por ti mismo ahora sean parte del núcleo de Yii.
Instalación
Instalación
------------
------------
Yii 2.0 adopta completamente [Composer](https://getcomposer.org/), el administrador de paquetes de facto de PHP.
Yii 2.0 adopta íntegramente [Composer](https://getcomposer.org/), el administrador de paquetes de facto de PHP.
Tanto la instalación del núcleo del framework como las extensiones se manejan a través de Composer. Por favor consulta
Tanto la instalación del núcleo del framework como las extensiones se manejan a través de Composer. Por favor consulta
la sección [Comenzando con la Aplicación Básica](start-basic.md) para aprender a instalar Yii 2.0. Si quieres crear extensiones
la sección [Comenzando con la Aplicación Básica](start-basic.md) para aprender a instalar Yii 2.0. Si quieres crear extensiones
o transformar extensiones de Yii 1.1 para que sean compatibles con Yii 2.0, consulta la sección [Creando Extensiones](extend-creating-extensions.md) de la guía.
o transformar extensiones de Yii 1.1 para que sean compatibles con Yii 2.0, consulta la sección [Creando Extensiones](extend-creating-extensions.md) de la guía.
...
@@ -27,7 +26,7 @@ Requerimientos de PHP
...
@@ -27,7 +26,7 @@ Requerimientos de PHP
Yii 2.0 requiere PHP 5.4 o mayor, lo que es un gran progreso ya que Yii 1.1 funcionaba con PHP 5.2.
Yii 2.0 requiere PHP 5.4 o mayor, lo que es un gran progreso ya que Yii 1.1 funcionaba con PHP 5.2.
Como resultado, hay muchas diferencias a nivel del lenguaje a las que deberías prestar atención.
Como resultado, hay muchas diferencias a nivel del lenguaje a las que deberías prestar atención.
Debajo hay un resumen de los mayores cambios en relación a PHP:
Abajo hay un resumen de los mayores cambios en relación a PHP:
Yii 2.0 parte la clase `CComponent` de 1.1 en dos clases: [[yii\base\Object]] y [[yii\base\Component]].
Yii 2.0 parte la clase `CComponent` de 1.1 en dos clases: [[yii\base\Object]] y [[yii\base\Component]].
La clase [[yii\base\Object|Object]] es una clase base liviana que permite definir [propiedades de objecto](concept-properties.md)
La clase [[yii\base\Object|Object]] es una clase base que permite definir [propiedades de objecto](concept-properties.md)
a través de getters y setters. La clase [[yii\base\Component|Component]] extiende de [[yii\base\Object|Object]] y soporta
a través de getters y setters. La clase [[yii\base\Component|Component]] extiende de [[yii\base\Object|Object]] y soporta
[eventos](concept-events.md) y [comportamientos (behaviors)](concept-behaviors.md).
[eventos](concept-events.md) y [comportamientos (behaviors)](concept-behaviors.md).
Si tu clase no necesita las utilizar características de eventos o comportamientos, puedes considerar usar
Si tu clase no necesita utilizar las características de eventos o comportamientos, puedes considerar usar
[[yii\base\Object|Object]] como clase base. Esto es usualmente el caso de las clases que representan
[[yii\base\Object|Object]] como clase base. Esto es usualmente en el caso de que las clases que representan sean
estructuras de datos básicas.
estructuras de datos básicas.
...
@@ -92,7 +91,7 @@ class MyClass extends \yii\base\Object
...
@@ -92,7 +91,7 @@ class MyClass extends \yii\base\Object
}
}
```
```
En el ejemplo de arriba, el último parámetro del constructor debe tomar un array de configuración
En el ejemplo de arriba, el último parámetro del constructor debe tomar una matriz de configuración
conteniendo pares clave-valor para la inicialización de las propiedades al final del mismo.
conteniendo pares clave-valor para la inicialización de las propiedades al final del mismo.
Puedes sobrescribir el método [[yii\base\Object::init()|init()]] para realizar el trabajo de inicialización
Puedes sobrescribir el método [[yii\base\Object::init()|init()]] para realizar el trabajo de inicialización
que debe ser hecho luego de que la configuración ha sido aplicada.
que debe ser hecho luego de que la configuración ha sido aplicada.
...
@@ -163,17 +162,17 @@ of the MVC pattern. Si quieres acceder al controlador o al widget correspondient
...
@@ -163,17 +162,17 @@ of the MVC pattern. Si quieres acceder al controlador o al widget correspondient
puedes utilizar `$this->context`.
puedes utilizar `$this->context`.
Para renderizar una vista parcial (partial) dentro de otra vista, se utiliza `$this->render()`, no `$this->renderPartial()`.
Para renderizar una vista parcial (partial) dentro de otra vista, se utiliza `$this->render()`, no `$this->renderPartial()`.
El llamado a `render` además tiene que ser mostrado explícitamente a través de `echo`, ya que el método `render()`
La llamada a `render` además tiene que ser mostrada explícitamente a través de `echo`, ya que el método `render()`
devuelve el resultado de la renderización en vez de mostrarlo directamente. Por ejemplo:
devuelve el resultado de la renderización en vez de mostrarlo directamente. Por ejemplo:
```php
```php
echo$this->render('_item',['item'=>$item]);
echo$this->render('_item',['item'=>$item]);
```
```
Además de utilizar PHP como el lenguaje de templates principal, Yii 2.0 está también equipado con soporte
Además de utilizar PHP como el lenguaje principal de plantillas (templates), Yii 2.0 está también equipado con soporte
oficial de otros dos populares lenguajes: Smarty y Twig. El motor de templates de Prado ya no está soportado.
oficial de otros dos motores de plantillas populares: Smarty y Twig. El motor de plantillas de Prado ya no está soportado.
Para utilizar esos motores, necesitas configurar el componente `view` de la aplicación, definiendo la propiedad [[yii\base\View::$renderers|View::$renderers]].
Para utilizar esos motores, necesitas configurar el componente `view` de la aplicación, definiendo la propiedad [[yii\base\View::$renderers|View::$renderers]].
Por favor consulta la sección [Motores de Templates](tutorial-template-engines.md) para más detalles.
Por favor consulta la sección [Motores de Plantillas](tutorial-template-engines.md) para más detalles.
Modelos
Modelos
...
@@ -229,7 +228,7 @@ public function actionView($id)
...
@@ -229,7 +228,7 @@ public function actionView($id)
}
}
```
```
Por favor consulta la sección [Controllers](structure-controllers.md) para más detalles acerca de los controladores.
Por favor, consulta la sección [Controllers](structure-controllers.md) para más detalles acerca de los controladores.
Widgets
Widgets
...
@@ -299,7 +298,7 @@ La traducción de mensajes ahora es ejecutada vía el componente `i18n` de la ap
...
@@ -299,7 +298,7 @@ La traducción de mensajes ahora es ejecutada vía el componente `i18n` de la ap
Este componente maneja un grupo de mensajes origen, lo que te permite utilizar diferentes mensajes
Este componente maneja un grupo de mensajes origen, lo que te permite utilizar diferentes mensajes
basados en categorías.
basados en categorías.
Por favor consulta la sección [Internacionalización](tutorial-i18n.md) para más información.
Por favor, consulta la sección [Internacionalización](tutorial-i18n.md) para más información.
Filtros de Acciones
Filtros de Acciones
...
@@ -324,7 +323,7 @@ public function behaviors()
...
@@ -324,7 +323,7 @@ public function behaviors()
}
}
```
```
Consulta la sección [Filtrando](runtime-filtering.md) para mayor detalle del tema.
Consulta la sección [Filtrando](runtime-filtering.md) para una mayor información acerca del tema.
Assets
Assets
...
@@ -333,18 +332,18 @@ Assets
...
@@ -333,18 +332,18 @@ Assets
Yii 2.0 introduce un nuevo concepto llamado *asset bundle* que reemplaza el concepto de script package encontrado en Yii 1.1.
Yii 2.0 introduce un nuevo concepto llamado *asset bundle* que reemplaza el concepto de script package encontrado en Yii 1.1.
Un asset bundle es una colección de assets (ej. archivos JavaScript, archivos CSS, imágenes, etc.) dentro de un directorio.
Un asset bundle es una colección de assets (ej. archivos JavaScript, archivos CSS, imágenes, etc.) dentro de un directorio.
Cada asset bundle por una clase que extiende de [[yii\web\AssetBundle]].
Cada asset bundle está representada por una clase que extiende de [[yii\web\AssetBundle]].
Al registrar un asset bundle a través de [[yii\web\AssetBundle::register()]], haces que los assets de dicho bundle sean accesibles
Al registrar un asset bundle a través de [[yii\web\AssetBundle::register()]], haces que los assets de dicho bundle sean accesibles
vía Web. A diferencia de Yii 1, la página que registra el bundle contendrá automáticamente las referencias a los archivos
vía Web. A diferencia de Yii 1, la página que registra el bundle contendrá automáticamente las referencias a los archivos
JavaScript y CSS especificados en el bundle.
JavaScript y CSS especificados en el bundle.
Por favor consulta la sección [Manejando Assets](output-assets.md) para más detalles.
Por favor, consulta la sección [Manejando Assets](output-assets.md) para más detalles.
Helpers
Helpers
-------
-------
Yii 2.0 introduce muchos comúnmente utilizados helpers estáticos, incluyendo.
Yii 2.0 introduce muchos helpers estáticos comúnmente utilizados, incluyendo: