Sie sind auf Seite 1von 34

Agregar plugin PHP en Netbeans:

Men Tools Plugin y luego seleccionar Install.

Next:

Click en Install:

Luego solicitar Reiniciar IDE, lo cual aceptaremos dando clic en Finish:

Agregar Plugin Symfony2 a Netbeans:

Next

Clic en cheque Aceppt the terms Y luego Install.

Clic en Finish y reiniciamos Netbeans

Descargar Symfony 2.3.3 de la web oficial desde dropbox:


https://www.dropbox.com/s/qythibxnsr4s5vs/Symfony.zip?dl=0
Cuando tenga el archivo Symfony.zip copiarlo en la ruta:
Documents\NetBeansProjects
Nota: esta ruta puede ser otra que usted decida, siempre y cuando se asegure de no borrar dicho
archivo en un futuro.

Creacin de Proyecto
Menu: FileNew Project. En la siguiente pantalla elegimos PHP y a la derecha PHP Application:

Escribimos el nombre del proyecto: Practica3 y cambiamos la ruta a c:/wamp/www/Practica3

En la siguiente ventana Next:

En la siguiente ventana agregaremos el Framework Symfony a la aplicacin. Al seleccionar el


framework damos clic en el botn Options:

Clic en Browse:

Seleccionamos el archivo Symfony.zip descargado de la ruta Documents\NetBeansProjects.


Finalmente damos clic en Aceptar y Finish en la siguiente ventana:

Con lo cual tenemos nuestro proyecto creado:

Una herramienta bastante til es el ejecutar comandos desde Netbeans, para ello damos clic
derecho sobre el proyecto, elegimos la opcin Symfony2 y luego Run Command:

Creacin de Bundle:
Escribimos en Filter genera y elegimos de las opciones la que dice generate:bundle dando clic en
Run:

Veremos en la parte inferior la pantalla de creacin:

Tal y como lo hemos aprendido en prcticas anteriores generamos el bundle:


Login/LoginBundle

Crear una Base de Datos con el nombre Practica3 y la tabla Usuarios:

Modificar archivo app/config/ parameters.yml:

Mapear en nuestro proyecto la base de datos creada.


Clic derecho en el proyectoSymfony2Run Command y elegimos
doctrine:mapping:import No olvidar poner en los parametros la ruta del bundle a mapear
(LoginLoginBundle)

Crear las entidades:


Clic derecho en el proyectoSymfony2Run Command y elegimos
doctrine:generate:entities

Con lo anterior veremos la Entidad Usuarios creada con sus respectivos set y get.

Nos aseguramos que nuestra aplicacin funcione correctamente antes de seguir digitando en la
url:
http://localhost:8080/Practica3/web/app_dev.php

Modificando la ruta al index de nuestra aplicacin.


En el index de nuestra aplicacin vamos a crear el logueo, por lo cual crearemos dicho controlador
y modificaremos la ruta por defecto.
1) Modificando archivo routing.yml que se encuentra en el LoginBundle

Modificamos el archivo DefaultController

Agregamos un registro a tabla Usuarios:

Ingresamos a:

Vemos que el controlador busca los datos username1 y password 1, como efectivamente
los encuentra en la base de datos, muestra el Hello y el nombre del usuario.

Si usted modifica el valor de la variable $usuario el de $password ver el mensaje siguiente:

Agregando formulario de logueo y bootstrap:


Es muy comn incluir en nuestras vistas enlaces a imgenes, JavaScripts, hojas de estilo, y otros
archivos que en conjunto denominamos assets. Para esto se utiliza la funcin de Twig asset.
Para poder agregar el archivo css de boostrap instalamos asset en netbeans:

Creando la vista:
Crear una carpeta llamada public y dentro dos carpetas ms: css y js, luego descargue los archivos
de bootstrap y agreguelos en la carpeta:

Descargue el archivo y sustituya el index.html.twig que usted tiene:


https://www.dropbox.com/s/o6lbkmujlcijl00/index.html.twig?dl=0
Este cdigo lo hemos desarrollado en mdulos anteriores, la nica diferencia es como enlazamos
el archivo css de boostrap:

Ejecutamos nuevamente el comando assets para que actualice el link anterior.


Al refrescar la pgina veremos:

Crearemos la pgina new.html.twig en la que se registrarn nuevos usuarios, para lo cual haremos
una copia del archivo index.html.twig y le agregaremos lo siguiente:

Ahora agregaremos la ruta dentro del archivo routing:

Agregamos el mtodo newAction dentro del DefaultController:


Nota vemos que guardamos el password con sha1

Podemos ver y probar nuestra pgina:

Modificamos el indexAction para comprobar desde la base de datos:

Y agregamos el mensaje en el index.html.twig:

Creando una plantilla.

Crear un archivo dentro de views llamado plantilla.html.twig:

Modificar el index para utilizar la plantilla creada:


Agregar al inico las primeras dos lineas:

Y al final la lnea:

Repetimos los mismos pasos para las pginas nuevo y bienvenido.

Ejercicio.

Crear una plantilla menu.html.twig y agregarla a la pgina Bienvenido.


Agregar un footer a todas las pginas, haciendo uso de plantillas.

Continuacin Gua 3
Ejecutar el script que crear la tabla Country en la base de datos ya creada (practica3), el cual
encontrar en la plataforma.
Despus de agregada la tabla Country, debemos ejecutar los dos comandos siguientes para poder
mapearla como entidad:

Agregamos las siguientes 2 lneas en la funcin indexAction:

Lo que hacemos al agregar estas lneas es: llamar a una funcin llamada obtenerPaises() y lo que
me retorne dicha funcin lo guardaremos en la variable $totalPaises, la cual imprimos en la
siguiente lnea.
Ahora creamos dicha funcin siempre dentro del DefaultController que se encuentra en la carpeta
LoginBundle:

En la funcin anterior estamos creando una consulta en DQL que es el lenguaje de consultas de
Doctrine.
Para ms informacin sobre la creacin de consultas ver:
http://librosweb.es/symfony_2_x/capitulo_8/buscando_objetos.html
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html

Al ejecutar la direccin y escribir un usuario y un password vlido, nos mostrar la pantalla


siguiente:
http://localhost:8080/Practica3/web/app_dev.php/login

Vemos que funciona el traer la cantidad de registros de la tabla Country, ahora haremos un select
para traer todos los registros. Para ello modificamos la funcin indexAction dejandola as:

En la funcin anterior definimos la cantidad de paises por pagina, llamamos a la funcin


obtenerPaises pero ahora le enviamos la cantidad de pases por pgina, finalmente modificamos el
echo por un var_dump que me permite imprimir objetos y arreglos.
Ahora modificamos la funcin obtenerPaises():

Quitamos el count pues ahora haremos una consulta de objetos y agregamos setMaxResults que
me indica cuantos objetos como mximo me devolver dicha consulta (Equivalente a TOP en
MySql). Vemos que modificamos tambien getSingleScalarResult(utilizado para retornar un solo
dato) por getArrayResult(utilizado para enviar un arreglo en este caso de Paises).

Al ver nuevamente la pgina bienvenida, podemos observar que imprimimos 50 objetos (del 0 al
49):

Enviando arreglo a la vista bienvenido.html.twig:


Con el cdigo anterior aprendimos a seleccionar una cantidad de registros, ahora modificaremos
nuevamente la funcin, para enviarlos todos a la vista bienvenido.html.twig:
Funcion indexAction final:

Funcin obtenerPaises final:

Pgina welcome.html.twig:

Resultado:

Agregar men de navegacin.


Ir a la url getbootstrap.com y copiar el men de navegacin en una nueva pgina llamada
menu.html.twig
Agregar las lneas para enlazar el archivo css y el javascript que ya tenemos en nuestro proyecto:

Vamos a la pgina welcome.html.twig y cambiamos la primera lnea por:

Con lo cual veremos el men agregado:

Ejercicio Prctico.
Agregar en nuestra base de datos practica3 la tabla libro. El Script es el siguiente:

DROP TABLE IF EXISTS `libro`;


CREATE TABLE `libro` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`titulo` varchar(150) COLLATE utf8_spanish_ci NOT NULL,
`autor` varchar(150) COLLATE utf8_spanish_ci NOT NULL,
`editorial` varchar(100) COLLATE utf8_spanish_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;

Modificar el men y agregar las pginas para mostrar y agregar libros:

Das könnte Ihnen auch gefallen