Sei sulla pagina 1di 8

Tutorial Sencillo

Yii Framework

Yii Framework
http://www.yiiframework.com
La guia definitiva para Yii
http://www.yiiframework.com/doc/guide/1.1/es/index
Yii Class Reference
http://www.yiiframework.com/doc/api/1.0.10
1. Instalacin

Descargar el framework Yii de:

http://www.yiiframework.com/download

Descomprimir el archivo a un directorio accesible por el servicio Web. Y


cambiar el nombre del directorio a "yii".

2. Requerimento

Luego de instalar Yii, ustede puede verificar si su server satisface todos los
requerimientos para utilizar Yii. Para hacerlo debe hacer accesible el script de
verificacin de requerimientos para utilizar Yii. Usted puede acceder al script
de verificacin de requerimientos en la siguiente URL en un explorador Web:

http://hostname/path/to/yii/requirements/index.php

3. Creando una aplicacin Yii

Por conveniencia asumimos que YiiRoot es el directorio donde Yii se


encuentra instalado y WebRoot es la ruta del documento de tu Web Server.

Ejecute yiic en la linea de comandos de la siguiente manera:

% YiiRoot/framework/yiic webapp WebRoot/sistema

Esto crear una aplicacin Yii esqueleto en el directorio WebRoot/testdrive.


Esta aplicacin contiene la estructura de directorios requerida por la mayora
de las aplicaciones Yii.

Sin escribir ni una sola linea de cdigo, nosotros podemos probar nuestra
primera aplicacin Yii ingresando a la siguiente URL en un explorador Web:

http://hostname/sistema/index.php
4. Base de datos

Usando alguna herramienta de administracin SQLite podemos crear la base


de datos con la siguiente definicin de tablas:

CREATE DATABASE `sistemasweb` DEFAULT CHARACTER SET latin1


COLLATE latin1_swedish_ci;

USE `sistemasweb`;

CREATE TABLE IF NOT EXISTS `alumno` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`nombre` varchar(60) NOT NULL,

`apellido` varchar(60) NOT NULL,

`email` varchar(100) NOT NULL,

`edad` int(11) NOT NULL,

`ciudad` varchar(60) NOT NULL,

`curso_id` int(11) NOT NULL,

PRIMARY KEY (`id`),

KEY `curso_id_c` (`curso_id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

CREATE TABLE IF NOT EXISTS `curso` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`nombre` varchar(60) NOT NULL,


PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

ALTER TABLE `alumno`

ADD CONSTRAINT `alumno_ibfk_1` FOREIGN KEY (`curso_id`)


REFERENCES `curso` (`id`);

La mayora de las aplicacines Web utilizan bases de datos. Para utilizar una
base de datos, primero se debe decir a la aplicacin como conectarse a la
misma. Esto se realiza modificando el archivo de configuracin de
aplicacin WebRoot/testdrive/protected/config/main.phpcomo se muestra a
continuacin.

'db'=>array(

'connectionString'=>

'mysql:host=localhost;dbname=sistemasweb',

'username'=>'root',

'password'=>'mysql',

),

5. Implementando operaciones CRUD



Ahora comienza la parte divertida. Queremos implementar las operaciones
CRUD para las tablas alumno y curso que acabamos de crear. Esto es una
prctica comn en aplicaciones prcticas.

En vez de estar lidiando con escribir el cdigo actual podemos utilizar la


poderosa herramienta yiic nuevamente para automatizar la generacin de
cdigo por nosotros. Este proceso es tambin conocido como scaffolding.
Abre una ventana de lnea de comandos y ejecuta los comando listados a
continuacin:

% cd WebRoot/sistema
% protected/yiic shell

Yii Interactive Tool v1.1 (based on Yii v1.1.12)

Please type 'help' for help. Type 'exit' to quit.

>> model alumno

generate models/alumno.php

generate fixtures/alumno.php

generate unit/alumnoTest.php

The following model classes are successfully generated:

alumno

If you have a 'db' database connection, you can test these models now with:

$model=alumno::model()->find();

print_r($model);

>> model curso

generate models/curso.php

generate fixtures/curso.php

generate unit/cursoTest.php

The following model classes are successfully generated:

curso

If you have a 'db' database connection, you can test these models now with:

$model=curso::model()->find();

print_r($model);

>> crud alumno

generate AlumnoController.php

generate alumnoTest.php
mkdir /Users/leonardoribeiro/Sites/sistema/protected/views/alumno

generate create.php

generate update.php

generate index.php

generate view.php

generate admin.php

generate _form.php

generate _view.php

generate _search.php

Crud 'alumno' has been successfully created. You may access it via:

http://hostname/path/to/index.php?r=alumno

>> crud curso

generate CursoController.php

generate cursoTest.php

mkdir /Users/leonardoribeiro/Sites/sistema/protected/views/curso

generate create.php

generate update.php

generate index.php

generate view.php

generate admin.php

generate _form.php

generate _view.php

generate _search.php

Crud 'curso' has been successfully created. You may access it via:

http://hostname/path/to/index.php?r=curso


>>

En el cdigo anterior utilizamos el comando yiic shell para interactuar con la


aplicacin esqueleto. Hemos ejecutado dos comandos: model alumno y crud
alumno. El primero genera la clase Modelo para la tabla alumno mientras que
el segundo lee el modelo alumno y genera el cdigo necesario para las
operaciones CRUD. Lo mismo ocurre con el curso.

Vamos a disfrutar de nuestro trabajo navegando a la siguiente URL:

http://hostname/sistema/index.php?r=alumno

http://hostname/sistema/index.php?r=curso

Pantalla de alumnos:

Pantalla de curso:


Pantalla de registro de alumno:

Potrebbero piacerti anche