/
start.testdrive.txt
85 lines (54 loc) · 5.61 KB
/
start.testdrive.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
Lanzamiento de Prueba con Yii
=============================
En ésta sección, se describe como crear el esqueleto de una aplicación que nos servirá como punto de partida. Por simplicidad, asumimos que la raíz de nuestro Servidor es `/wwwroot` y que el URL correspondiente es `http://www.example.com/`.
Instalando Yii
--------------
Inicialmente instalamos el framework de Yii. Obtenga una copia del archivo (versión 1.1.1 o superior) en [www.yiiframework.com](http://www.yiiframework.com/download) y descomprimála al directorio `/wwwroot/yii`. Asegúrese que el directorio `/wwwroot/yii/framework` haya sido creado.
> Tip: El framework de Yii puede instalarse en cualquier lugar del sistema de directorios. El directorio `framework` contiene todo el código estructural y es el único directorio necesario para desplegar una aplicación. Una única instalación de Yii puede ser utilizada para múltiples aplicaciones Yii.
Luego de haber instalado Yii, abra una ventana nueva en su explorador y acceda a la URL `http://www.example.com/yii/requirements/index.php`. Este muestra la revisión de requerimientos provistos en la versión de Yii descargada. Para la aplicación de blog, al margen de los requisitos mínimos de Yii, se necesitan habilitar las extensiones PHP `pdo` y `pdo_sqlite` para acceder a las bases de datos SQLite.
Creando el Esqueleto de la Aplicación
-----------------------------
Luego utilizamos la herramienta `yiic` para crear una aplicación esqueleto bajo el directorio `/wwwroot/blog`. La herramienta `yiic` es una herramienta de línea de comandos incluida en Yii. Esta puede ser utilizada para generar código para diferentes tareas.
Abra una ventana de comandos y ejecute el siguiente comando:
~~~
% /wwwroot/Yii/framework/yiic webapp /wwwroot/blog
Create a Web application under '/wwwroot/blog'? [Yes|No]y
......
~~~
> Tip: Para poder utilizar la herramienta `yiic` tal como se indica, el programa CLI PHP debe estar en el path (camino) de búsqueda de comandos. De lo contrario, el comando se puede reemplazar por el siguiente:
>
>~~~
> path/to/php /wwwroot/Yii/framework/yiic.php webapp /wwwroot/blog
>~~~
Para probar la aplicación que acabamos de crear, abra una ventana de explorador y navegue al URL `http://example.com/blog/index.php`. Deberíamos ver que nuestra aplicación posee tres páginas funcionales: la página de inicio, la página de contacto y la página para iniciar sesión.
A continuación, describimos brevemente lo que tenemos en la aplicación esqueleto.
###Script de Entrada
Tenemos un archivo llamado [script de entrada](http://www.yiiframework.com/doc/guide/es/basics.entry) `/wwwroot/blog/index.php` que tiene el siguiente contenido:
~~~
[php]
<?php
$yii='/wwwroot/framework/yii.php';
$config=dirname(__FILE__).'/protected/config/main.php';
// remove the following line when in production mode
defined('YII_DEBUG') or define('YII_DEBUG',true);
require_once($yii);
Yii::createWebApplication($config)->run();
~~~
Este es el único script al que los usuarios Web tienen acceso directo. El script primero incluye el archivo bootsrap de Yii `yii.php`. Luego crea una instancia de la [aplicación](http://www.yiiframework.com/doc/guide/es/basics.application) con la configuración especificada y luego ejecuta la aplicación.
###Directorio Base de la Aplicación
También tenemos un [directorio base de la aplicación](http://www.yiiframework.com/doc/guide/es/basics.application#application-base-directory) `/wwwroot/blog/protected`. La mayoría de nuestro código y datos estarán ubicados bajo este directorio, y debería estar protegido del accesos de usuarios Web. Para el uso en [Apache httpd Web Server], bajo este directorio creamos un archivo `.htaccess` con el siguiente contenido:
~~~
deny from all
~~~
Para otros servidores, por favor refiérase al manual correspondiente sobre la protección de directorios de usuarios de Web.
Flujo de la Aplicación
----------------------------------
Para facilitar la comprensión del funcionamiento de Yii, describimos el flujo en nuestra aplicación esqueleto cuando un usuario accesa a la página de contacto:
0. El usuario hace una solicitud a la URL `http://www.example.com/blog/index.php?r=site/contact`;
1. El [script de entrada](http://www.yiiframework.com/doc/guide/es/basics.entry) es ejecutado por el Servidor para procesar la solicitud;
2. Una instancia de la [aplicación](http://www.yiiframework.com/doc/guide/es/basics.application) es creada y configurada con los valores iniciales especificados en el archivo de configuración de la aplicación `/wwwroot/blog/protected/config/main.php`;
3. La aplicación resuelve la solicitud en un [controlador](http://www.yiiframework.com/doc/guide/es/basics.controller) y una [acción de controlador](http://www.yiiframework.com/doc/guide/es/basics.controller#action). Para la solicitud de la página de contacto, esta se resuelve como el controlador de `sitio` (`site`) y la acción de `contacto` (`contact`).
4. La aplicación crea el controlador `site` en términos de una instancia `SiteController` y luego la ejecuta;
5. La instancia `SiteController` ejecuta la acción `contact` al llamar a su método `actionContact()`;
6. El método `actionContact` genera una [vista(view)](http://www.yiiframework.com/doc/guide/es/basics.view) llamada `contact` al usuario Web. Internamente, esto se logra al incluir el archivo de vista `/wwwroot/blog/protected/views/site/contact.php` e incluyendo el resultado en el archivo de [layout](http://www.yiiframework.com/doc/guide/es/basics.view#layout) `/wwwroot/blog/protected/views/layouts/column1.php`.
<div class="revision">$Id: start.testdrive.txt 1734 2010-01-21 18:41:17Z qiang.xue $</div>