1 00:00:01,070 --> 00:00:04,950 Es el momento de ver ya la aplicación que se ha realizado funcionando. 2 00:00:05,730 --> 00:00:09,390 Ya tendremos tiempo de mejorar lo que salga, pero de momento vamos a verla funcionando. 3 00:00:09,390 --> 00:00:30,410 Para ello, Symfony cuenta con, vamos al directorio del proyecto, con un servidor propio, Symfony Server, en el cual, ahora mismo está arrancándolo, en el cual nosotros vamos a trabajar ahora con esta dirección. 4 00:00:31,070 --> 00:00:37,009 en el directorio, en el ordenador localhost, en nuestro ordenador principal, en el puerto 8000, 5 00:00:37,530 --> 00:00:40,229 vamos a poder ir viendo nuestra aplicación. 6 00:00:41,149 --> 00:00:48,829 Vamos a pinchar en él, y si no lo copiamos y lo vemos en un navegador, efectivamente, vamos a ver, 7 00:00:49,429 --> 00:00:58,390 vamos a copiarlo directamente, porque parece que no quiere arrancarlo, 8 00:00:58,390 --> 00:01:00,950 nos vamos aquí y vamos a 9 00:01:00,950 --> 00:01:02,590 copiar esta dirección 10 00:01:02,590 --> 00:01:04,109 la copiamos aquí 11 00:01:04,109 --> 00:01:06,609 estaba arrancando Chromium 12 00:01:06,609 --> 00:01:09,250 es lo que estaba haciendo, arrancando Chromium por su cuenta 13 00:01:09,250 --> 00:01:12,810 nos da igual en Chromium que 14 00:01:12,810 --> 00:01:14,629 en Firefox 15 00:01:14,629 --> 00:01:16,129 entonces 16 00:01:16,129 --> 00:01:18,069 aquí tenemos 17 00:01:18,069 --> 00:01:20,629 nuestra aplicación que de momento 18 00:01:20,629 --> 00:01:22,450 no aparece casi nada 19 00:01:22,450 --> 00:01:24,790 si estamos hablando de nuestra aplicación se ve claramente 20 00:01:24,790 --> 00:01:26,390 que estamos hablando de nuestro proyecto 21 00:01:26,390 --> 00:01:27,829 del que está aquí situado 22 00:01:27,829 --> 00:01:35,069 e incluso devuelve un código 404, es decir, esta página inicial todavía no está encontrada, este proyecto está sin hacer. 23 00:01:35,730 --> 00:01:41,689 Estamos viendo que tenemos una versión 4.4.16 y aparentemente todo esto tiene buena pinta. 24 00:01:42,629 --> 00:01:45,430 El servidor tiene una serie de características, etc. 25 00:01:46,409 --> 00:01:53,349 Entonces vamos a ver que tendremos en el directorio, en la ruta, departamento. 26 00:01:53,349 --> 00:01:59,329 y sorpresa, ya tenemos aquí un índice de departamentos 27 00:01:59,329 --> 00:02:02,989 en donde dice que no hay registros, que no se han encontrado registros 28 00:02:02,989 --> 00:02:08,330 vamos a crear un departamento, vamos a crear el departamento finanzas 29 00:02:08,330 --> 00:02:11,469 y vamos a guardarlo 30 00:02:11,469 --> 00:02:16,469 bueno, pues efectivamente ya está creado el departamento finanzas 31 00:02:16,469 --> 00:02:21,110 voy a crear otro más, voy a crear el departamento producción 32 00:02:21,110 --> 00:02:25,729 y también lo ha creado 33 00:02:25,729 --> 00:02:28,430 también vemos que tenemos los botones 34 00:02:28,430 --> 00:02:30,969 o los enlaces, mejor dicho, de enviar 35 00:02:30,969 --> 00:02:32,789 y de editar 36 00:02:32,789 --> 00:02:34,810 vamos a hacer caso un poco a las rutas 37 00:02:34,810 --> 00:02:36,590 para entender lo que está ocurriendo en Symfony 38 00:02:36,590 --> 00:02:37,669 y cómo trabaja 39 00:02:37,669 --> 00:02:40,270 departamento, directamente 40 00:02:40,270 --> 00:02:42,090 con la ruta raíz 41 00:02:42,090 --> 00:02:45,110 nos muestra la lista de departamentos 42 00:02:45,110 --> 00:02:48,310 si pincho, por ejemplo, en finanzas 43 00:02:48,310 --> 00:02:51,310 vemos que aquí en la ruta 44 00:02:51,310 --> 00:02:53,610 ha incluido 1, que es su identificador 45 00:02:53,610 --> 00:02:54,969 y nos muestra 46 00:02:54,969 --> 00:02:55,990 efectivamente 47 00:02:55,990 --> 00:02:59,270 toda la información de ese 48 00:02:59,270 --> 00:03:00,189 departamento 49 00:03:00,189 --> 00:03:03,210 voy a volver a la lista para comprobar que en 2 50 00:03:03,210 --> 00:03:04,949 también me ha cambiado la ruta 51 00:03:04,949 --> 00:03:06,569 incluyendo aquí 2 52 00:03:06,569 --> 00:03:07,710 voy a editar este 53 00:03:07,710 --> 00:03:11,270 ahora mantiene el 2 y dice que lo que 54 00:03:11,270 --> 00:03:12,949 quiero es editar 55 00:03:12,949 --> 00:03:14,830 ¿de acuerdo? con lo cual yo podría aquí 56 00:03:14,830 --> 00:03:17,610 incluir o modificar lo que quisiera y actualizarlo 57 00:03:17,610 --> 00:03:19,370 si quisiera borrarlo 58 00:03:19,370 --> 00:03:22,110 me diría que si estoy seguro que lo voy a hacer 59 00:03:22,110 --> 00:03:23,650 voy a decir que no de momento 60 00:03:23,650 --> 00:03:25,330 y si vuelvo a la lista 61 00:03:25,330 --> 00:03:27,870 vuelvo al nivel 62 00:03:27,870 --> 00:03:29,150 de departamento 63 00:03:29,150 --> 00:03:32,210 esto mismo lo tendré similar para empleado 64 00:03:32,210 --> 00:03:33,069 vamos a ver 65 00:03:33,069 --> 00:03:35,409 para empleado 66 00:03:35,409 --> 00:03:36,330 que información 67 00:03:36,330 --> 00:03:40,090 es la que obtengo 68 00:03:40,090 --> 00:03:41,969 bueno, en principio 69 00:03:41,969 --> 00:03:43,430 una tabla de la misma manera 70 00:03:43,430 --> 00:03:45,270 pero todavía no tiene ningún empleado 71 00:03:45,270 --> 00:03:46,389 voy a crear el primero 72 00:03:46,389 --> 00:03:48,389 y me da un error 73 00:03:48,389 --> 00:03:52,969 Y este es el primer error que vamos a encontrar en orden de muchos a lo largo de nuestro desarrollo. 74 00:03:53,810 --> 00:03:59,889 Dice que el departamento no se puede convertir en un string. 75 00:04:00,030 --> 00:04:03,509 El objeto departamento no se puede convertir en un string. 76 00:04:03,830 --> 00:04:09,789 Nosotros sabemos que hay un método, que es un método llamado método mágico, 77 00:04:10,129 --> 00:04:17,290 que podemos convertir cualquier objeto a un elemento propio, a un elemento tipo string. 78 00:04:17,290 --> 00:04:20,269 es decir, una salida que pueda ser imprimible 79 00:04:20,269 --> 00:04:22,269 bien, pues vamos a ver 80 00:04:22,269 --> 00:04:24,069 vamos a ir a nuestro terminal 81 00:04:24,069 --> 00:04:27,230 podría parar esto 82 00:04:27,230 --> 00:04:28,470 voy a abrir una pestaña nueva 83 00:04:28,470 --> 00:04:30,389 que me va a ser más cómodo, una solapa nueva 84 00:04:30,389 --> 00:04:31,670 y 85 00:04:31,670 --> 00:04:34,709 vamos a ir 86 00:04:34,709 --> 00:04:37,069 a la clase correspondiente 87 00:04:37,069 --> 00:04:38,449 a la entidad correspondiente 88 00:04:38,449 --> 00:04:40,709 a la entidad correspondiente 89 00:04:40,709 --> 00:04:42,569 que en este caso 90 00:04:42,569 --> 00:04:43,629 es departamento 91 00:04:43,629 --> 00:04:46,110 para crear este 92 00:04:46,110 --> 00:04:48,689 método, me voy 93 00:04:48,689 --> 00:04:50,350 al departamento PHP 94 00:04:50,350 --> 00:04:52,589 y voy a crear 95 00:04:52,589 --> 00:04:56,649 un método 96 00:04:56,649 --> 00:04:57,290 público 97 00:04:57,290 --> 00:05:02,620 este nano no es el más adecuado 98 00:05:02,620 --> 00:05:03,980 para esta demostración voy a mantener 99 00:05:03,980 --> 00:05:06,480 nano, después veremos 100 00:05:06,480 --> 00:05:08,339 que hay otros editores más 101 00:05:08,339 --> 00:05:09,519 adecuados para esto 102 00:05:09,519 --> 00:05:12,379 voy a decir que 103 00:05:12,379 --> 00:05:13,740 public function toString 104 00:05:13,740 --> 00:05:16,420 voy a decirle que lo que 105 00:05:16,420 --> 00:05:17,819 me haga es devolverme 106 00:05:17,819 --> 00:05:33,540 Por ejemplo, el campo, me da igual que campo exactamente sea el que yo me devuelva, pero por ejemplo con el nombre me podría valer, disnombre, y con eso ya podría tenerlo configurado, ¿de acuerdo? 107 00:05:34,000 --> 00:05:36,459 Podría también mandar el identificador, lo que quisiera. 108 00:05:36,639 --> 00:05:39,819 Voy a crear este método mágico. 109 00:05:40,879 --> 00:05:45,720 Normalmente no se llama public toString, se llama guión bajo guión bajo toString, ¿de acuerdo? 110 00:05:45,720 --> 00:05:47,259 este es el método, igual que en constructor 111 00:05:47,259 --> 00:05:49,500 era un guión bajo aquí abajo, en este caso 112 00:05:49,500 --> 00:05:51,980 igual, doy control x 113 00:05:51,980 --> 00:05:53,699 digo que sí, que me lo salve 114 00:05:53,699 --> 00:05:55,759 y ahora voy a volver 115 00:05:55,759 --> 00:05:57,639 aquí, vamos a 116 00:05:57,639 --> 00:05:59,740 generar esta pantalla otra vez 117 00:05:59,740 --> 00:06:01,699 y efectivamente, automáticamente 118 00:06:01,699 --> 00:06:03,579 lo ha hecho, porque 119 00:06:03,579 --> 00:06:05,620 realmente le hace falta esa información 120 00:06:05,620 --> 00:06:07,300 para incluirnos aquí 121 00:06:07,300 --> 00:06:09,639 estos datos, finanzas y 122 00:06:09,639 --> 00:06:11,639 producción, que es justo el nombre que acabamos de 123 00:06:11,639 --> 00:06:13,620 mostrar, bueno, vamos a 124 00:06:13,620 --> 00:06:20,199 crear aquí un usuario, 1, 2, 3, 4, 5, 7, 8, perdón, que estoy tecleando pero no me teclea 125 00:06:20,199 --> 00:06:34,240 nada, 1, 2, 3, 4, 5, 6, 7, 8, Z, por ejemplo, nombre Luis Alonso, nacido, y vamos a ver 126 00:06:34,240 --> 00:06:40,120 que es una lista horrible, en inglés además y solo dos letras, nacido en febrero, el día 127 00:06:40,120 --> 00:06:42,720 aquí también, además tan horrible 128 00:06:42,720 --> 00:06:44,500 como que me admite casi casi 129 00:06:44,500 --> 00:06:46,459 cualquier día, entonces vamos a decir 130 00:06:46,459 --> 00:06:48,079 que nació el 18 de febrero 131 00:06:48,079 --> 00:06:50,100 y lo peor viene en año, en año 132 00:06:50,100 --> 00:06:52,500 solamente me está admitiendo de 2015 a 133 00:06:52,500 --> 00:06:53,959 2025 y está claro 134 00:06:53,959 --> 00:06:56,819 que va a haber pocos empleados que hayan nacido en esta fecha 135 00:06:56,819 --> 00:06:58,420 de momento voy a dejar esto porque 136 00:06:58,420 --> 00:07:00,600 después la siguiente parte de toda esta presentación 137 00:07:00,600 --> 00:07:02,500 es cómo vamos a 138 00:07:02,500 --> 00:07:04,399 configurar todos estos elementos que él ha 139 00:07:04,399 --> 00:07:06,300 generado para hacerlos adecuados, de momento 140 00:07:06,300 --> 00:07:07,860 nos vale para ver finanzas 141 00:07:07,860 --> 00:07:09,759 y saldar 142 00:07:09,759 --> 00:07:37,139 Y aquí tendremos ya a este usuario, que si vemos su información, pues tendremos todo esto, y ni siquiera aquí aparece el departamento, después lo mejoraremos, y que nos permite evitarlo, vamos a quitar esto del navegador, y con esto vemos ya que yendo a empleado tenemos la información de empleados, o el cruz de empleados, y yendo a departamento, el cruz de departamentos.