Jack Fiallos Blog (AkKa Erling) Vida, Curiosidad y Proyectos

Yii Framework ¿Ya tengo mi Base de Datos y ahora que hago?







No Gravatar

Yii framework

Yii framework

Se que cada framework tiene su particularidad y el que estoy utilizando actualmente no es la excepción. Yii framework fue mi elección después de varios meses evaluando muchos frameworks que se pueden encontrar en la red, al final muchos puntos a favor me hicieron elegir a Yii e iniciar la difícil tarea de aprender a utilizarlo. Lo mejor es que eso no me tomó tanto tiempo.

Si visitas Yii framework desde su página podrás encontrar los muchos tutoriales que se ofrecen y hasta el ya conocido tema de “Como crear un blog en 10 min”.. básico es verdad.. y aunque nos da una idea de como se hacen las cosas, trabajar directamente en un proyecto o una página muy ñoña y escueta nos puede llegar a tomar algo de trabajo entre que nos tratamos de acostumbrar al uso de este bondadoso método de trabajo.

Entonces después de hecharle una leída a los tutoriales, ver algo de la ayuda, urgar en los foros entendí al fin como Yii puede interacturar con nuestra base de datos.. tratáre de explicar en breves líneas de código como hechar a andar el shell de Yii para que nos haga un wrapper de nuestras tablas.

1. Es realmente necesario modificar el archivo de configuración de nuestra aplicación, este se localiza en la carpeta config de nuestro proyecto base.

'db'=>array(
'class'=>'CDbConnection',
'connectionString'=>'mysql:host=localhost;dbname=mibasededatos',
'username'=>'usuario',
'password'=>'clave'
)

2. Espero que tengas creada una tabla en tu BD, porque si no lo haces el siguiente paso de nada funcionará. Lo siguiente entonces es entrar al shell de Yii para que nos cree el modelo de nuestra tabla. Ahora, desde la línea de comandos hay que posicionarse dentro del directorio protected de nuestro proyecto base y escribir:

yiic shell ../index

Para que funcione el shell es necesario apuntar al index del proyecto por eso me subí un directorio y escribí ../index.php. Una vez dentro del shell se nos mostrará un mensaje “Yii Interactive Tool v1.0 (based on Yii x) Please type ‘help’ for help. Type ‘exit’ to quit. >>“. Eso nos da la pauta de que ya estamos en la consola y podemos utilizarla.. Para que el modelo sea creado solamente escribimos

>> model NombreDelModelo NombreDeLaTablaDeLaBD

Donde NombreDelModelo es el nombre que le daremos a nuestro modelo, en caso de no querer escribir ningun nombre para el modelo entonces solamente escribimos “model NombreDeLaTablaDeLaBD” y será suficiente, el modelp será llamado igual que la tabla de nuestra BD.

3. Genial, hasta aquí ya tenemos gran parte del trabajo resuelto, el resto queda listo escribiendo otra sencilla línea de código que lo que hace en sí es envolver nuestra tabla con las funciones de acceso comun tales como crear, modificar, eliminar y listar.

>> crud Nombre

CRUD = Create, Read, Update, Delete. También se crearán otras páginas con funciones para administrar y mostrar información de cada registro de nuestra Base de Datos. Ahora la estructura queda de la siguiente manera.. Un archivo NombreController.php es almacenado dentro de la carpeta Controller y lo que hace este archivo es procesar las peticiones enviadas por un cliente web en este caso. Y por ultimo llegamos a las vistas, dentro de la carpeta Views se crea una carpeta llamada Nombre y ahí mismo se hubicarán los archivos que son precisamente las vistas para administrar, crear, mostrar, listar y actualizar los registros de nuestra tabla.

Recomendaciones

  • Siempre que se haga un cambio en el archivo main.php de la carpeta config, es necesario salirse del shell y volver a iniciarlo.
  • Recuerda que es muy importante buscar el archivo index.php de nuestro proyecto cuando se inicia el shell.
  • Cuando se esta creando el modelo de acceso a nuestras tables suelen ocurrir errores, normalmente esto se debe a la cadena de conexión.
  • Si llegases a cambiar de versión tu Yii, también tienes que actualizar el archivo yii.php que se encuentra dentro de la carpeta protected.

Enlaces

http://www.yiiframework.com/

http://www.yiiframework.com/doc/guide/quickstart.first-app

About the author

Erling Fiallos wrote 296 articles on this blog.

Profesional en el Desarrollado de aplicaciones web, usuario de linux, fanático de la tecnología. Arquitecto de interfaces apasionado uso de los estándares web Usabilidad/Accesibilidad.. En el camino he aprendido mucho sobre diseño y me dedico a mejorar las aplicaciones pensando en que toda la web debe de ser accesible para todas las personas. Parte activa en el equipo de desarrollo y consultoría de Qbit Mexhico.

There are currently no comments highlighted.
  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Entradas Similares:

  1. Como utilizar CJoinElement en una tabla sin PrimaryKey con #YiiFramework
  2. Ciclo de vida de una aplicacion web utilizando un framework MVC
  3. Estrenando extension para Yii Framework en Github
  4. Super Happy Developer House 9
  5. Consideraciones al probar una aplicación web

8 Responses to “Yii Framework ¿Ya tengo mi Base de Datos y ahora que hago?”

  1. He seguido los pasos si problemas pero me gustaría saber que sucede cuando tienes las url amigables y no estas utilizando el index. No puedo entrar a la vista usuarios, aunque veo el controlador y el modelo. Saludos

  2. Andres, en yii cualquier peticion pasa por index y de ahi es redireccionado a las controladores y estos a su vez a las vistas.. a menos que desde el .htaccess modifiques que sera otro archivo y no index la ruta base de yii. Las url amigables no deben de ocasionar problemas.. hay algun error que se muestre y me lo indiques para ayudarte ?

  3. Hola, estoy haciendo lo que me dices pero tengo problemas… Y no se si lo estoy haciendo mal o algo…
    Para iniciar te cuento que tengo lampp instalado en mi equipo (Linux Mint 12) aunque ya logre crear mi aplicación de prueba pero siguiendo lo que hay en http://www.yiiframework.com/doc/guide/1.1/es/quickstart.first-app pero no tengo idea de que puedo hacer mal… Bueno, en consola escribo:
    abr4xas@dx2400:/opt/lampp/htdocs/www/demo/protected$ ./yiic shell model usuario tbl_user
    Estoy usando una base de datos mysql ya cambie lo que estaba en main.php para que trabajara con eso pero no se :(
    Gracias por la ayuda!!

  4. Perdona por el doble post olvide incluir el error:
    Error: model does not exist or is not an entry script file.
    Eso es lo que me da al ejecutar la orden de arriba:(

  5. Hola, soy yo de nuevo… Revisando nuevamente lo que escribiste me percate de que lo estaba haciendo TERRIBLEMENTE MAL jejeje… Lo que hay que hacer es:
    En consola:
    protected$ ./yiic shell ../index.php y listo, ahi se habilita todo para trabajar… Bueno, cualquier otra duda escribo por aqui… Gracias y disculpa :)

  6. Jack FiallosNo Gravatar dice:

    Hola abr4xas..

    No te preocupes, cualquier cosa en la que pueda ayudarte con gusto lo hare.. De hecho eso que haces con la consola ya se puede hacer utiluzando el browser, yii creo un modulo para generar ese tipo de tareas, lo cual es mas sencillo y menos complicado de configurar.. Puedes buscar sobre Gii y veras de lo q hablo.

    Saludos

  7. Hola, puedes ser un poco más especifico ya que es la primera vez que estoy utilizando esto y pues no tengo idea :(

  8. Jack FiallosNo Gravatar dice:

    Hecha un vistazo a esta url.. y veras de que hablo.. es muy sencillo y te ahorras mucho tiempo.. http://www.yiiframework.com/doc/guide/1.1/en/topics.gii

Leave a Reply