0% encontró este documento útil (0 votos)
2K vistas19 páginas

Yii Framework Tutorial Español

Este documento presenta un tutorial básico sobre el framework Yii para desarrollo web. Explica cómo instalar Yii, su estructura de archivos y patrones MVC. Luego muestra un ejemplo simple "Hola Mundo" usando un controlador y vista. Finalmente discute la manipulación de datos, incluyendo la configuración de la base de datos, creación de modelos y uso de funciones CRUD.

Cargado por

Ivan Fernandez
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2K vistas19 páginas

Yii Framework Tutorial Español

Este documento presenta un tutorial básico sobre el framework Yii para desarrollo web. Explica cómo instalar Yii, su estructura de archivos y patrones MVC. Luego muestra un ejemplo simple "Hola Mundo" usando un controlador y vista. Finalmente discute la manipulación de datos, incluyendo la configuración de la base de datos, creación de modelos y uso de funciones CRUD.

Cargado por

Ivan Fernandez
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

TUTORIAL BASICO PARA Yii FRAMEWORK

LUIS ALBERTO ORDOEZ

INGENIERIA DE SOTFWARE III

UNIVERSIDAD DEL CAUCA FACULTAD DE INGENIERA ELECTRNICA Y TELECOMUNICACIONES INGENIERA DE SISTEMAS POPAYN (CAUCA) 30 de mayo de 2012

Tabla de contenido
Introduccin ....................................................................................................................... 3 Instalacin ......................................................................................................................... 4 Informacin general ........................................................................................................... 7 Mi primer ejemplo .............................................................................................................. 8 Manipulacin de datos ..................................................................................................... 11 Cread ........................................................................................................................... 14 Read ............................................................................................................................ 15 Update ......................................................................................................................... 16 Delete........................................................................................................................... 17 Generar los links para usar el CRUD ............................................................................... 18 Conclusiones o lecciones aprendidas .............................................................................. 19 Referencias ..................................................................................................................... 19

Introduccin.
Yii es un framework PHP basado en componentes para desarrollar aplicaciones Web de gran escala. El mismo permite la mxima reutilizacin en la programacin web y puede acelerar el proceso de desarrollo. Para desarrolladores que deseen utilizar Yii, el entendimiento de Programacin Orientada a Objetos (POO) ser de grn ayuda ya que Yii es un framework totalmente basado en POO. Yii es un framework generico de programacin Web que puede ser utilzado para todo tipo de aplicaciones Web. Gracias a que es liviano de correr, es adecuado para desarrollar aplicaciones de gran trfico como portales, foros, sistemas de administracin de contenidos, Sistemas de comercio electrnico, etc. Como la mayora de los frameworks PHP, Yii es un framework MVC (modelo-vistaontrolador), Yii sobresale frente a frameworks PHP en su eficiencia, su gran cantidad de caractersticas, Yii ha sido diseado cuidadosamente desde el principio para el desarrollo de aplicaciones Web. No es ni un subproducto de un proyecto ni un conglomerado de trabajo de terceros, es el resultado de la basta experiencia de los autores en desarrollo de aplicaciones Web y de la investigacin y la reflexin de los ms populares los frameworks de programacin Web y aplicaciones.

Instalacin
Para hacer instalacin de nuestro framework Yii nos remitimos a la pgina oficial de yii http://www.yiiframework.com/ en donde podemos descargar el framework, una vez descargado lo descomprimimos y lo copiamos en la raz del directorio de publicaciones de nuestro servidor, en este caso utilizare wamp.

El directorio raz de wamp nos quedara algo as, en donde yii es el archivo descargado, descomprimido y copiado con el nombre yii por facilidad. Para poder crear nuestros proyectos en este framework es necesario configurar las variables de entorno PATH tanto para php como para el frammework yii, entonces nos vamos editar el PATH. Vamos a inicio, escribimos en le buscador variables de entorno, escogemos Editar las variables de entorno del sistema, esto nos muestra una ventana en la cual escogemos Variables de entorno

Como se muestra en las siguientes fotografas.

En donde dice Valor de la variable path se coloca las direcciones en donde se encuentran nuestros ejecutables de la aplicacin php y la del framework yii separados por (;), entonces continuamos

C:\wamp\bin\php\php5.3.10 C:\wamp\www\yii\framework Aceptamos todas las ventanas y listo tenemos configuradas las variables de entorno para php y yii

Por ultimo creamos nuestra aplicacin por medio de la terminal de Windows de la siguiente manera. Abrimos una terminal DOS, nos ubicamos en la raz del directorio de publicaciones y escribimos el siguiente comando como se ve en la siguiente fotografa de la terminal

yiic es el framework utilizado. Webapp es el tipo de aplicacin que estamos creando website es el nombre de nuestra aplicacin.

Aceptamos y listo esta creado proyecto con toda la estructura por defecto del framework yii que utilizaremos en este tutorial para hacer un crud a una tabla de una base de datos.

Informacin general
Antes de empezar a implementar cualquier cosa, recordemos que la idea es practicar el MVC, por lo tanto todo lo que hagamos en este tutorial ser siguiendo este patrn.

Esta es la estructura de archivos que nos genera el framework para que trabajemos nuestras aplicaciones, describir las mas importantes con el fin de simplificar el aprendizaje. css: guarda las hojas de estilo utilizadas en la aplicacin. Images: almacena todas las imgenes de toda la aplicacin protected : es la carpeta mas importante porque ah es donde se hace efectivo el MVC controllers: en esta carpeta van todos los controladores que son los encargados de la intermediacin entre las vistas y la lgica del negocio o modelos. models: se implementa la lgica del negocio de la aplicacin view: se implementan absolutamente todas las vistas de la aplicacin, por ejemplo la pagina inicial del framewor creada esta aqu en esta carpeta y se llama index, este index es creada por defecto y remasteriza su vista al abrir la pagina de la aplicacin localhost/website

yii trae por defecto un index que es en el cual vamos a trabajar para este tutorial, claro esta que lo podemos cambiar as como tambin la hoja de estilo si no nos gusta. Este index como o dije anteriormente esta en la carpeta view donde estn todas nuestras vistas.

Mi primer ejemplo
En el proceso de aprendizaje de cualquier famework es recomendable partir de lo mas bsico y este no va a ser la excepcin, es por eso que a continuacin mostrare como hacer el famoso hola mundo respetando el patrn de diseo MVC. Entonces para ello necesitamos crear una vista y su controlador. Controlador: los controladores son archivos php en los cuales se declara la clase controlador que lleva el siguiente formato: class NombreController extends Controller : el Nombre del controlador empezando con mayscula, seguido de la palabra Controller con C en mayscula y de extiende de la clase Controller. Dentro de esta clase se implementan funciones que son las acciones que va atender el controlador, estas funciones tienen el siguiente formato: public function actionIndex(): la palabra public seguida de la palabra function y despus la palabra action seguido del Nombre de la accin empezando en mayscula, dentro de estas funciones va la lgica de la aacion.

El archivo php se guarda con el mismo nombre y el mismo formato que la clase de controlador NombreController

Entonces para nuestro ejemplo construimos el controlador como se muestra en la siguiente imagen.

La lnea 5 declara la variable saludo y le asigna una cadena hola mundo La lnea 6 es una funcin heredada de la clase controller la cual me permite reiterisar con la posibilidad de enviar parmetros o no!. Para este caso mandaremos la variables $saludo como parmetro, entonces el primer parmetro de render es la vista que vamos reiterisar y el segundo es una array de parmetros con el siguiente formato array(saludo=>$saludo) en donde saludo es el nombre de la variable que va a tomar en la vista y $saludo es la variable que estamos enviando a la vista. Vista : se implementa el cdigo necesario para mostrar lo deseado, en este caso mostraremos una variable que recibimos de parte del controlador . Para guardar este vista vamos a la carpeta views y creamos una nueva carpeta que tendr el nombre del controlador saludo en minsculas y en esta guardamos el archivo index.php que contiene la vista como tal. En la siguiente imagen muestro lo dicho anteriormente.

Para probar nuestro saludo modificamos la url de la siguiente manera http://localhost/website/index.php?r=saludo/index Donde el rojo saludo es el controlador que vamos a usar y el verde index es la accin o vista a reiterizar.

Con esto hemos empezado a manejar nuestro framework yii con MVC aunque todava nos falta manejar los modelos, que lo aremos a continuacin.

Manipulacin de datos
A partir de este momento con el fin de dejar plasmado el trabajo que se realice de aqu en adelante trabajare con un proyecto que previamente e elaborado que es el de mi pagina web tambin elaborado en con Yii framework Entonces empezamos configurando Yii framework para la base. Vamos a protected/config/main.php en donde des comentamos las lneas de la 55 a 62 y comentamos de la 51 a 53.

Configuramos: dbname= testlpi username => root password => Entonces creamos la base de datos en el servidor local wamp, para este tutorial la llamaremos testlpi y tendr una tabla llamada user que tendr los siguientes campos id, first_name, last_name, email, login, password. Adicionamos un par de tuplas para ir probando el acceso a los datos. Modelo: tanto la clase como el archivo normalmente tienen el mismo nombre de la tabla de la base de datos esto empezando con mayscula, esto es recomendable puesto que el framework esta diseado para relacionar el modelo con la base de datos. Los modelos son clases que heredan de una clase llamada CActiveRecord dentro de esta clase se implementan funciones como cargar el modelo, reglas entre otros. Para una mejor ilustracin mirar la siguiente imagen que muestra el controlador para este caso de estudio.

Como podemos observar dentro del modelo User tenemos una funcin llamada model, la cual nos permite cargar el modelo.

Controlador: la sintaxis de la creacin de los controladores ya las mencione anteriormente entonces el controlador de nuestra tabla quedara de la siguiente manera

De paso creamos una funcin llamada actionIndex que su propsito general es reiterizarme una vista llamada index que me va a mostrar todos los datos de la tabla. En la lnea 7 asignamos a la variable model el modelo de la tabla user que nos devuelve el mtodo estarico model() implementado en el modelo User. Ya teniendo el modelo ya puedo hace consultas sobre esta tabla. E la lnea 8 asignamos a la variable local user todos los datos de la tabal con la funcin findAll() En la lnea 9 reiterizo la vista index y le envi todos los datos de la tabla para ser mostrados des de la vista. Ahora creamos el index a donde se redirecciona. Creamos una carpeta llamada de la misma forma que el controlador user en minsculas don de van a estar todas las vistas que utiliza el UserController.

En la vista index tenemos todos los datos de la tabla los cuales los mostramos en una tabla por medio de un foreach. Para probar nuestro trabajo hasta ahora modificamos la url de la siguiente manera http://localhost/website/index.php?r=user/index Donde el rojo user es el controlador que vamos a usar y el verde index es la accin o vista a reiterisar.

Muy bn.. entonces ahora vamos a hacerle el CRUD a esta tabla.

Cread
Agregamos el siguiente cdigo a UserController

Esta accin me permite adicionar un nuevo usuario al sistema Lnea 32 se crea un moelo User y se guarda en la variable $model Lnea 33 se verifica si el romulario trae valores por post Lnea 35 asigna los valores del formulario a ala variable $model Lnea 36 guarda los datos sean por primera vez Lnea 37 redirexiona a view para terminar

Lnea 39 reiterisa la vista add para ingresar los campos Creamos la vista add

Estos formularios se crean de manera especial, parecida a los helpers Lnea 2 abrimos el formulario Lnea 4 escribimos un indicador Primer Nombre Lnea 5 captura el primer nombre. Lnea 24 hacemos el botn que nos enva el formulario obtenido anteriormente al UserController

Read
Agregamos el siguiente cdigo a UserController

Esta accin nos permite visualizar con los detalles de un ususario Lnea 12 la funcin recibe el id el cual nos sirve para obtener el usuario desde la base de datos Lnea 14 obtenemos un solo objeto del modelo Lnea 15 reiterizamos la vista view enciandole el objeto anteriormente consultado Creamos la vista view

Utilizamos el parmetro enviado para consultar cada uno campos y mostrarlos

Update
Agregamos el siguiente cdigo a UserController

Esta accin me permite editar un usuario del sistema Linea 18 esta accin recibe el id del usuario que se va a editar Lnea 20 obtiene un registro por id y se guarda en la variable $model Lnea 21 se verifica si el romulario trae valores por post Lnea 23 asigna los valores del formulario a ala variable $model Lnea 24 guarda los datos que sean editados Lnea 25 redirexiona a view para terminar y le enva como parmetro el id Linear 27 si no llegan datos por post reiterisa los campos a cambia por medio de la vista edit

Creamos la vista edit

Estos formularios se crean de manera especial, parecida a los helpers Lnea 2 abrimos el formulario Lnea 4 escribimos un indicador Primer Nombre Lnea 5 captura el primer nombre. Lnea 24 hacemos el botn que nos enva el formulario obtenido anteriormente al UserController

Delete
Agregamos el siguiente cdigo a UserController

Esta accin permite eliminar un registro por medio del id Lnea 44 obtiene un registro por medio del id de la tabla user Lnea 45 elimina el registro Lnea 46 reiterisa la vista index

Generar los links para usar el CRUD


Para poder hace el llamado a cada una de las acciones echas anteriormente debemos generar esos links en la vista index de la siguiente manera.

Los links en yii se hacen de esta manera <?php echo CHtml::link('Adicionar Usuario',array('add'));?> En donde Adicionar Usuario es en que parte del texto se va a coloca el hipertexto, y el array en su primera posicin es la accin y de ah hacia adelante son los parmetros que sele envan al controlado

El cdigo de la aplicacin esta disponible en: http://dl.dropbox.com/u/72997754/website.rar

Conclusiones o lecciones aprendidas


En el rea de desarrollo web se encuentran una gran variedad de framework que estn esperando por ser descubiertos y estudiados, estas herramientas unas mas eficientes que otras cumplen con su objetivo que es hacer que el programador se base mas en la arquitectura como tal y no por detalles de bajo nivel por as decirlo. Yii framework me parece una excelente y muy poderosa herramienta para le desarrollo rpido y gil de aplicaciones web, tiene una buena distribucin o lgica que hace que su aprendizaje tenga una curva muy favorable para principiantes en los framework en general. Es muy importante en nuestra vida profesional no ceirnos o casarnos con un lenguaje o framework en general porque podemos estar perdiendo la oportunidad de conocer herramientas mucho mas eficientes, personalmente aunque es muy corta la experiencia que tengo con yii framework pero puedo afirmar que va a se una herramienta que utilizare por un buen tiempo para el desarrollo web.

Referencias
[1]. http://www.yiiframework.com/

[2]. http://es.wikipedia.org/wiki/Yii [3]. http://caraballomaestre.blogspot.com/2011/05/por-que-yii-framework.html [4]. http://yiiframework.wordpress.com/

También podría gustarte