Yii Framework en Español

Archive for the ‘Uncategorized’ Category

El script de inicio es el script bootstrap PHP que maneja las peticiones del usuario inicialmente. Éste es el unico script PHP que los usuarios finales puede pedir ejecutar.

En la mayoría de los casos, el script de inicio de una aplicación Yii contiene código simple como este:¨

// remove the following line when in production mode
defined('YII_DEBUG') or define('YII_DEBUG',true);
// include Yii bootstrap file
require_once('path/to/yii/framework/yii.php');
// create application instance and run
$configFile='path/to/config/file.php';
Yii::createWebApplication($configFile)->run();

El script primero incluye el archivo bootstrap del framework llamado yii.php . Luego crea una instancia de la aplicación web con la configuración especificada y ejecuta la aplicación.

Modo Debug

Una aplicación Yii puede correr en modo debug o en modo producción, esto es acorde al valor de la constante YII_DEBUG. Por defecto esta constante está definida en false, lo que significa modo producción.
Para correrlo en modo debug, defina la constante en true antes de incluir el archivo yii.php.

Correr la aplicación en modo debug es menos eficiente porque maneja una cantidad de registros internos. Por otro lado, el modo debug es de mucho mas ayuda durante el desarrollo porque provee mucha mas información acerca de los errores, cuando estos ocurren.

Traducción : Martín Sagastume Rué (msr)
Fuente: http://www.yiiframework.com/doc/guide/basics.entry

Anuncios

Yii implementa el patrón de diseño MVC(model-view-controller) el cuál es ideal para la programación Web.
MVC apunta a separar la lógica de negocio de la interfaz de usuario, así los programadores pueden facilmente cambiar cada parte sin afectar unas a otras. En MVC, el modelo representa la información(los datos) y las reglas de negocio; las vistas contienen los elementos de interfaz de usuario, como texto, colores, imagenes; y los controladores manejan la comunicación entre el modelo y la vista.

Además de MVC, Yii también introduce un controlador-frontal , llamado aplicación, el cual representa el contexto de ejecución de las peticiones en proceso. La aplicación resuelve las peticiones de los usuarios y las despacha al controlador apropiado para futuros manejos.

El siguiente diagrama muestra la estructura estática de una aplicación Yii:

structure

El típico flujo de trabajo

El siguiente diagrama muestra el típico flujo de trabajo de una aplicación Yii cuando está manejando la petición de un usuario:

flow

  1. Un usuario hace una petición en la siguiente URL http://www.example.com/index.php?r=post/show&id=1 y el servidor web maneja la petición ejecutando el bootstrap script index.php.
  2. El bootstrap script crea una instancia de la aplicación y la ejecuta.
  3. La aplicacion obtiene la información detallada de la petición de los usuarios desde un componente de la aplicación llamado request(petición).
  4. La aplicación determina la petición del controlador y actúa con la ayuda de un componente de la aplicación llamado urlManager(manejador de url’s).
    Para este ejmplo, el controlador es Post que hace referencia a la clase PostController; y la acción es show(mostrar) el cuál su significado es determinado por el controlador
  5. La aplicación crea una instancia de la petición del controlador para mas adelante manejar la petición del usuario. El controlador determina que la acción show(mostrar) se refiere a un método llamado actionShow en la clase del controlador.
    Entonces crea y ejecuta filtros (por ej: controles de acceso) asociados a esta acción. La acción es ejecutada si los filtros lo permiten.
  6. La acción lee un modelo Post el cuál si ID es 1 en la base de datos.
  7. La acción asocia una vista llamada show(mostrar) con el modelo Post.
  8. La vista lee y muestra los atributos del modelo Post.
  9. La vista ejecuta algunos artilugios.
  10. Los resultados de la vista son embebidos en un diseño(layout)
  11. La acción completa la prestación de la vista y muestra el resultado al usuario.

Traducción : Martín Sagastume Rué (msr)
Fuente: http://www.yiiframework.com/doc/guide/basics.mvc