1 00:00:00,240 --> 00:00:22,440 Bueno, ya esta es la última fase de la página web y la verdad es que es bueno diferenciar y saber diferenciar entre lo que es una web estática y una web dinámica, que eso ya lo hemos hecho con el Javascript, pero esto es un poco ir un paso más allá. 2 00:00:22,440 --> 00:00:25,980 Javascript como ya vimos es un programa 3 00:00:25,980 --> 00:00:31,719 puede entenderse como un lenguaje de programación orientado a objetos 4 00:00:31,719 --> 00:00:35,200 pero de alguna forma 5 00:00:35,200 --> 00:00:41,039 el punto de vista de dinamizar la página 6 00:00:41,039 --> 00:00:43,380 es desde el punto de vista del usuario 7 00:00:43,380 --> 00:00:48,679 nosotros podemos hacer una página web 8 00:00:48,679 --> 00:00:52,179 dinámica pero desde el punto de vista del servidor 9 00:00:52,179 --> 00:00:56,600 es decir, que sea el servidor el que nos dinamice la página 10 00:00:56,600 --> 00:01:01,119 eso implica en la mayor parte de los casos 11 00:01:01,119 --> 00:01:06,540 que exista algún gestor de bases de datos 12 00:01:06,540 --> 00:01:11,359 todas las bases de datos tienen la peculiaridad 13 00:01:11,359 --> 00:01:17,239 de que se gestionan usando el mismo lenguaje de programación 14 00:01:17,239 --> 00:01:18,099 que es el SQL 15 00:01:18,099 --> 00:01:38,599 SQL, que yo alguna vez lo he explicado en primero de bachillerato, porque en primero de bachillerato he explicado bases de datos y como consecuencia de ello hemos visto SQL, que es el lenguaje un poco universal de programación de todas las bases de datos. 16 00:01:38,599 --> 00:02:02,640 Entonces, si yo quiero programar o si yo quiero convertir una página web en una página web dinámica desde el punto de vista del servidor, la forma más lógica de hacerlo es mediante la gestión de una base de datos. 17 00:02:02,640 --> 00:02:10,259 Y esto es lo que de alguna forma propicia este lenguaje de programación, el PHP. 18 00:02:11,319 --> 00:02:21,879 Entonces, como todos los lenguajes de programación de alto nivel, pues tienen a la hora de programar, la verdad es que es muy similar. 19 00:02:22,599 --> 00:02:29,639 La sintaxis y las sentencias son muy similares, tienen algún tipo de particularidad, 20 00:02:29,639 --> 00:02:41,159 pero son muy similares a las que hemos utilizado para otros lenguajes de programación como C++, como Javascript. 21 00:02:41,159 --> 00:03:03,370 De hecho, si nosotros vamos a ver el programa PHP que nos va a permitir establecer el factorial de un número, 22 00:03:03,669 --> 00:03:22,270 es este, me he tardado un poco en abrirse 23 00:03:22,270 --> 00:03:37,050 es este, entonces si veis, pues el programa 24 00:03:37,050 --> 00:03:39,750 lo que ha hecho ha sido crear una función 25 00:03:39,750 --> 00:03:42,009 cuyo parámetro es el número 26 00:03:42,009 --> 00:03:45,629 y luego tiene una variable que es la variable factorial 27 00:03:45,629 --> 00:03:47,150 que he hecho factorial igual a 1 28 00:03:47,150 --> 00:03:48,789 y luego crea un bucle 29 00:03:48,789 --> 00:03:52,509 ¿y cómo se crea un bucle? Pues con for 30 00:03:52,509 --> 00:03:55,289 entonces tenemos un for 31 00:03:55,289 --> 00:03:58,110 con un contador que va desde 1 32 00:03:58,110 --> 00:04:01,050 hasta menor o igual que el número 33 00:04:01,050 --> 00:04:03,990 y que va aumentando de uno en uno 34 00:04:03,990 --> 00:04:07,870 y la función factorial igual a factorial por el número 35 00:04:07,870 --> 00:04:09,750 o sea, si nos damos cuenta 36 00:04:09,750 --> 00:04:13,710 el sintaxis, bueno, pues sí, hay algunas diferencias 37 00:04:13,710 --> 00:04:15,909 por ejemplo 38 00:04:15,909 --> 00:04:19,449 el que se inicia con esto de aquí 39 00:04:19,449 --> 00:04:21,569 para indicar que es un PHP 40 00:04:21,569 --> 00:04:23,149 lo tenemos aquí 41 00:04:23,149 --> 00:04:28,689 y este en concreto no es TAS del todo completo 42 00:04:28,689 --> 00:04:33,600 vamos a abrir este porque faltan cosas 43 00:04:33,600 --> 00:04:38,120 como todo en programa bucle 44 00:04:38,120 --> 00:04:40,639 tendríamos el inicio 45 00:04:40,639 --> 00:04:42,600 que es este de aquí, inicio 46 00:04:42,600 --> 00:04:47,279 luego tenemos las dos variables 47 00:04:47,279 --> 00:04:49,519 hemos definido dos variables 48 00:04:49,519 --> 00:04:52,800 que es la variable número y la variable factorial 49 00:04:52,800 --> 00:04:57,399 y bueno pues lo que hacíamos en el C++ 50 00:04:57,399 --> 00:04:59,579 lo que hacemos es meter un número 51 00:04:59,579 --> 00:05:03,319 la variable número es algo que se mete por el teclado 52 00:05:03,319 --> 00:05:06,560 y después pues lo que tenemos es un for 53 00:05:06,560 --> 00:05:10,920 de tal manera que al final pues me va a escribir 54 00:05:10,920 --> 00:05:13,500 el valor del factorial 55 00:05:13,500 --> 00:05:18,079 que es pues el resultado final de ese bucle 56 00:05:18,079 --> 00:05:21,259 o sea desde el punto de vista de sintaxis 57 00:05:21,259 --> 00:05:25,399 voy a ver si lo puedo hacer para que lo veáis 58 00:05:25,399 --> 00:05:29,240 esta si no, a lo mejor os la envío 59 00:05:29,240 --> 00:05:44,939 desde el punto de vista de sintaxis 60 00:05:44,939 --> 00:05:47,019 el programa es el programa de siempre 61 00:05:47,019 --> 00:05:49,420 y si os dais cuenta 62 00:05:49,420 --> 00:05:52,639 pues sí, claro, si comparásemos 63 00:05:52,639 --> 00:05:55,680 C++ con Javascript y con PHP 64 00:05:55,680 --> 00:05:58,740 sí que hay unas ciertas diferencias 65 00:05:58,740 --> 00:05:59,699 por supuesto, ¿no? 66 00:06:00,240 --> 00:06:01,579 sí que hay unas ciertas diferencias 67 00:06:01,579 --> 00:06:03,620 entre los tres programas 68 00:06:03,620 --> 00:06:08,160 entre cómo se ha expresado y cómo se ha realizado el factorial de un número 69 00:06:08,160 --> 00:06:13,759 con los tres programas, sí que las hay, pero hay muchísimas similitudes también. 70 00:06:14,259 --> 00:06:18,339 ¿Qué quiere decir? Eso es lo que ocurre generalmente cuando se aprende a programar 71 00:06:18,339 --> 00:06:23,279 con lenguajes de programación de alto nivel, si se aprende la primera vez bien, 72 00:06:24,060 --> 00:06:30,279 pues es una labor que hace que el resto de los lenguajes de programación 73 00:06:30,279 --> 00:06:33,899 sean mucho más sencillos, porque sí que es cierto que hay diferencias, 74 00:06:34,420 --> 00:06:36,360 pero son relativamente pequeñas. 75 00:06:36,819 --> 00:06:40,120 De hecho, por ejemplo, la única diferencia aquí, si os dais cuenta, 76 00:06:40,600 --> 00:06:45,420 es a la hora de definir las variables que usa el símbolo del dólar delante 77 00:06:45,420 --> 00:06:48,920 para decir que esto es una variable que está definiendo. 78 00:06:49,439 --> 00:06:53,259 Entonces, aparte de para indicar que es una variable con el símbolo del dólar, 79 00:06:53,500 --> 00:06:58,300 poca más diferencia hay, y que sale con eco. 80 00:06:58,300 --> 00:07:04,000 Entonces, pues igual que hemos escrito el Javascript 81 00:07:04,000 --> 00:07:06,680 Podemos escribir por el PHP 82 00:07:06,680 --> 00:07:08,480 El programa PHP 83 00:07:08,480 --> 00:07:15,860 El programa, como veis, tiene extensión PHP 84 00:07:15,860 --> 00:07:19,519 Igual que Javascript tenía extensión JS 85 00:07:19,519 --> 00:07:21,879 Este tiene extensión PHP 86 00:07:21,879 --> 00:07:24,759 Ahora, ¿cuáles son las diferencias? 87 00:07:24,759 --> 00:07:29,279 porque hasta aquí parece que no hay muchas diferencias 88 00:07:29,279 --> 00:07:31,379 que son todos iguales 89 00:07:31,379 --> 00:07:38,879 la primera diferencia es que como PHP necesita 90 00:07:38,879 --> 00:07:42,439 el SQL necesita un gestor de base de datos 91 00:07:42,439 --> 00:07:43,959 para ejecutarse 92 00:07:43,959 --> 00:07:49,459 no vamos a incluir el programa en el encabezado de la página web 93 00:07:49,459 --> 00:07:54,060 yo voy ahora a la página web PHP 94 00:07:54,060 --> 00:08:06,639 que es la que tenemos en nuestro sitio web 95 00:08:06,639 --> 00:08:16,550 que es esta de aquí 96 00:08:16,550 --> 00:08:20,470 si yo veo el código de esta página web 97 00:08:20,470 --> 00:08:24,769 veremos que en el encabezado 98 00:08:24,769 --> 00:08:29,509 el único link que hay es con la hoja de estilos 99 00:08:29,509 --> 00:08:33,909 pero no hay un link a factorial PHP 100 00:08:33,909 --> 00:08:36,129 ni a factorial 2 PHP 101 00:08:36,129 --> 00:09:01,990 No se establece de esa manera los links. Lo que sí se puede hacer es establecer o enlazar de alguna manera un formulario que se ha creado, un formulario que se crea con HTML, enlazarle con el PHP. 102 00:09:02,629 --> 00:09:11,590 Eso sí, que es lo que tenemos aquí, en el sentido de que número es el número que hemos puesto a través de aquí 103 00:09:11,590 --> 00:09:16,889 y que lo que hace es, lo que tenemos es un submit. 104 00:09:16,889 --> 00:09:23,970 Incluso quizás si pusiésemos el factorial del número es igual a factorial que tenemos aquí, 105 00:09:24,090 --> 00:09:25,370 probablemente nos diese el resultado. 106 00:09:25,370 --> 00:09:33,529 Puede que no lo he intentado porque la primera diferencia es que PHP no aparece para nada en el encabezado. 107 00:09:33,889 --> 00:10:02,940 La segunda diferencia es que si yo abro mi sitio web en local, ¿vale? 108 00:10:03,679 --> 00:10:04,600 Pues, ¿qué pasa? 109 00:10:04,940 --> 00:10:19,139 Javascript, vemos que yo aquí pongo el número, por ejemplo, 5. 110 00:10:19,139 --> 00:10:22,399 Y le pulso, me da el valor. 111 00:10:22,759 --> 00:10:35,980 En cambio, PHP, si yo introduzo el número y le doy a enviar, lo que me aparece es la hoja donde está el programa. 112 00:10:36,899 --> 00:10:44,460 ¿Por qué? Porque no lo sabe interpretar sin que exista esta base de datos, sin que exista este gestor. 113 00:10:44,460 --> 00:10:54,590 solo puede funcionar cuando nosotros hemos subido el sitio web 114 00:10:54,590 --> 00:10:57,230 y hay un gestor de base de datos. 115 00:10:57,750 --> 00:11:03,090 Afortunadamente, 260MB tiene un gestor de base de datos 116 00:11:03,090 --> 00:11:08,330 y en este caso, si yo le doy al número, por ejemplo, 5, 117 00:11:08,950 --> 00:11:12,529 me va a salir el resultado. 118 00:11:12,529 --> 00:11:14,309 el resultado 119 00:11:14,309 --> 00:11:16,809 a ver 120 00:11:16,809 --> 00:11:20,299 me sale el resultado 121 00:11:20,299 --> 00:11:21,360 que son 120 122 00:11:21,360 --> 00:11:22,340 entonces 123 00:11:22,340 --> 00:11:26,759 esa es otra de las grandes diferencias 124 00:11:26,759 --> 00:11:28,519 que con php 125 00:11:28,519 --> 00:11:30,460 necesitamos ese gestor 126 00:11:30,460 --> 00:11:32,200 de base de datos y por lo tanto 127 00:11:32,200 --> 00:11:34,500 no es algo 128 00:11:34,500 --> 00:11:35,679 que se pueda entender 129 00:11:35,679 --> 00:11:38,320 en local, solo se entiende cuando 130 00:11:38,320 --> 00:11:40,460 hay de por medio ese gestor de base de datos 131 00:11:40,460 --> 00:11:42,019 y 132 00:11:42,019 --> 00:11:44,159 en javascript si, en esencia 133 00:11:44,159 --> 00:11:46,000 los programas son muy parecidos 134 00:11:46,000 --> 00:11:47,799 muy parecidos 135 00:11:47,799 --> 00:11:49,740 pero las ejecuciones no 136 00:11:49,740 --> 00:11:51,480 entonces pues 137 00:11:51,480 --> 00:11:53,240 bueno, esto nos abre 138 00:11:53,240 --> 00:11:55,720 puerta para crear 139 00:11:55,720 --> 00:11:58,100 también páginas web 140 00:11:58,100 --> 00:12:00,240 que sólo se puedan crear 141 00:12:00,240 --> 00:12:03,840 sólo se puedan crear 142 00:12:03,840 --> 00:12:05,980 cuando, y sólo funcionen 143 00:12:05,980 --> 00:12:07,679 correctamente cuando 144 00:12:07,679 --> 00:12:10,480 estén alojadas 145 00:12:10,480 --> 00:12:12,159 en el hosting 146 00:12:12,159 --> 00:12:13,759 correspondiente o a través 147 00:12:13,759 --> 00:12:18,139 en lugar de hacerlo a través de un gestor de base de datos. 148 00:12:25,429 --> 00:12:26,169 Y ya estaría.