logo

midulive


Transcribed podcasts: 605
Time transcribed: 13d 3h 7m 36s

This graph shows how many times the word ______ has been mentioned throughout the history of the program.

Vamos a hacer un curso de PHP desde cero.
Así que vamos a empezar ahora.
Espero y deseo que estéis preparados o preparadas.
Fíjate, no me lo puedo creer.
No me lo puedo creer que justo voy a hacer un curso de PHP y tiramos la página.
No me lo puedo creer.
No me lo puedo creer.
No me lo puedo creer.
A ver, PHP.
No me lo puedo creer que hemos tirado la página.
O sea, que no funciona la página de PHP, tío.
Que no funciona la página de PHP.
Pues sí, efectivamente.
PHP ha muerto.
Literalmente.
O sea, qué mala suerte.
Esto, no sé si ha sido el bootcamp.
No sé si ha sido, ostras, ostras.
Bueno, no sé, a mí no me funciona.
Me imagino que debe ser un tema temporal porque antes me ha funcionado perfectamente.
Y entiendo que en algunas regiones sí que funciona porque a vosotros sí que os funciona.
Pero mira, la conexión de este sitio web no es segura.
No deberías introducir información confidencial.
Y a ver, sí que me funciona en otro sitio, ¿verdad?
Sí, sí, sí.
O sea, lo que no me funciona es la de PHP.
O sea, que entiendo que es un tema de DNS de zona.
Me imagino que tardará un rato, que habrán cambiado algo del dominio justamente por el certificado.
Y que en algunas zonas os funcionará y en otras no funcionará.
No os preocupéis.
Funcionará eventualmente.
Si os funciona, pues fantástico.
No pasa nada.
Vamos a hablar de PHP mientras se recupera la página.
Amigos, vamos a hacer un curso de PHP desde cero.
¿Por qué PHP?
Vale la pena aprender PHP.
2024 y vas a aprender PHP.
Bueno, PHP es un lenguaje de programación muy interesante.
Primero porque es un lenguaje interpretado del lado del servidor.
Y que tiene un uso general, pero que se adapta especialmente en el mundo del desarrollo web.
Sobre todo en el desarrollo web.
PHP, que ya tiene muchos años a sus espaldas.
Que parece mentira.
No es que haya salido ayer ni mucho menos.
PHP nació el año 1995.
O sea, que tiene casi 30 años.
Parece poco, pero casi 30 años.
Y aún así se sigue evolucionando, sigue mejorando.
La última versión es la 8.3.4.
Que tiene una de mejoras impresionante.
En los últimos años PHP ha tenido como una resurrección en base a nuevas features.
Nuevas versiones que han mejorado tanta velocidad, seguridad.
Como falta de características que mucha gente esperaba.
Ahora bien, PHP.
¿Por qué es importante?
¿Por qué es interesante?
Porque quieras o no, PHP es en pleno 2024.
Uno de los lenguajes de programación más populares del mundo.
Y es que las estimaciones hablan de que 3 de cada 4 páginas.
En el mundo, en internet.
Que funcionan con una programación de server site.
O sea, que tienen servidor.
Funcionan con PHP.
3 de cada 4 páginas.
Esto es una verdadera salvajada.
Ahora bien, ¿por qué pasa esto?
Pasa por diferentes cosas.
La primera es la increíble, inmensa popularidad de WordPress.
Un CMS, Content Management System.
Creado, desarrollado y, vamos, vilipendiado por PHP.
Porque PHP es el lenguaje que utiliza WordPress.
Así que en cada WordPress del mundo se está utilizando PHP.
Y como base de datos, pues MySQL o diferentes...
Ahora hay diferentes alternativas, pero sobre todo MySQL en su día.
Ahora, ¿esto puede ser que PHP sea una de las razones?
Pues seguro.
Porque WordPress lo reventó en su momento.
Esto hace que tengamos que infravalorar a PHP.
Ni mucho menos.
Porque si están utilizando WordPress, quieras o no quieras, pues también están utilizando PHP.
Y hay un mercado increíblemente grande en temas, en plugins, en desarrollos a medida.
Pero es que no es del todo verdad esto.
También tenemos frameworks muy importantes y muy famosos en el mundo de PHP, como puede ser Laravel.
Laravel, que ahora yo diría que está o está siendo el más famoso que ha superado a Symfony.
A cada uno le puede gustar más uno u otro, ¿vale?
Pero teníamos Symfony y tendríamos Laravel.
Symfony también es muy interesante.
También tuvo un momento que tuvo un muy buen desarrollo.
Seguramente estarán ahí.
Igual se utiliza más Symfony por los años anteriores.
Pero Laravel yo diría que a día de hoy es quien está ganando más esta batalla.
Es una opinión mía personal.
Pero sea uno o sea otro, los dos están muy bien.
Ya sea para crear desde backends con microservicios, con frameworks web enteros.
O sea, una web completa.
Tienes un montón de posibilidades.
Así que no solo, como puedes ver, es que tengas ahora mismo WordPress,
sino que también tenemos Symfony o Laravel.
También dos frameworks muy importantes en el ecosistema PHP que se están utilizando un montón.
Entonces, no te creas el cuento de eso es porque solo se utiliza para WordPress.
Porque no es verdad.
Hay grandes empresas ahí fuera que están utilizando en su entorno de trabajo PHP,
ya sea con Laravel, con Symfony, con otros frameworks o incluso a palo seco.
No solo por WordPress, que seguro que tiene mucho impacto, pero también por los demás.
Lo digo porque mucha gente se cree, ah no, es simplemente esto y ya está.
Pues no es así.
Muy bien, pues, ojo que ya me funciona la página de PHP.
Buenísimo.
PHP.
Lo bueno que tenéis de PHP, y esto es una cosa que ha sido históricamente positiva de PHP,
es la documentación.
Es verdad que en pleno 2024 no es la mejor documentación,
pero sí que es una documentación que tiene dos cosas muy buenas.
Lo primero, que está en español.
De hecho, fíjate que lo tenéis aquí, en español.
Os recomiendo muchísimo que os paséis, que la leáis en español y que aquí le echéis un vistazo a cualquier cosa.
Y lo primero y más importante es la instalación.
Yo personalmente, como estoy utilizando MacOS, yo lo instalaría con Homebrew.
Haría brew, install, PHP.
Brew es un administrador de paquetes que se llama Homebrew,
que te permite instalar un montón de paquetes como Python, PHP, SQL, lo que sea que necesites.
Lo puedes instalar fácilmente con esto.
Esto funciona así en MacOS o en Linux también,
pero bueno, en Linux normalmente no se suele utilizar, no se suele necesitar.
Ahora, si tenéis Windows, no pasa nada.
Vais aquí y miráis la instalación de Windows, paso a paso, cómo hacerlo y tal.
¿Qué tenéis Unix?
Bueno, seguramente con Unix va a ser súper fácil,
pero también tenéis aquí todo y cada uno de los pasos que tenéis que hacer.
Así que sea el sistema operativo que sea, pasad por aquí, echáis un vistazo y ya lo tenéis.
Tenéis un montón de opciones también para instalarlo.
Por ejemplo, tenéis, si no me equivoco, WAMP, WAMP Server,
que también te viene ya instalado con Apache, PHP, MySQL y así te es mucho más fácil.
Hay un montón de alternativas de softwares que ya te vienen con todo el pack completo
sin que te tengas que preocupar.
Así que busca el tuyo, el favorito y ya lo tienes.
Yo en mi caso nos vamos a enfocar sobre todo en PHP
porque es lo que quiero que hagamos desde cero, ¿vale?
Pero si quieres utilizar un software que ya te lo venga todo, pues ya lo tendrías.
Ya tendrías Champ también, Champ.
Ah, mira, Champ es el que está más moderno.
Pues mira, ya que lo tenéis para Linux, para Windows, para MacOS, el que queráis.
Yo ya os digo que lo que voy a intentar es hacerlo lo más puro posible
y por lo tanto lo único que voy a hacer es instalar PHP.
Vamos a ver que tengamos la última versión, ¿vale?
La última versión, al menos en Homebrew, es la 8.3.4
pero la última versión, según php.net, es la 8.3.4.
O sea que perfecto, estamos utilizando la última de todas, ¿vale?
Así que ya tendríamos la instalación hecha
y vamos a hablar un poquito más de PHP.
PHP, aparte de lo que os comentaba,
que 76% de todas las páginas parece que están utilizando.
Aquí tendrías un poquito las diferentes versiones.
Una mentira también que se extiende mucho sobre PHP.
Solo se utilizan versiones viejas, PHP 5 y tal.
Y fijaos aquí en este diagrama
que se dice que de todas las versiones que se están utilizando,
es verdad que la última no es la mayoritaria,
pero un 26% de todas las páginas del mundo que utilizan PHP
están utilizando la última, la versión 8.
Y un 56 la 7.
Mucha gente dice que no, es que la versión 5 que hizo mucho daño,
que no sé qué, no sé cuánto.
Y ya solo hay un 16% de esa versión
que esté en el ecosistema en internet,
para que lo tengáis en cuenta.
Y fijaos que en el último año,
el cambio histórico de uso de PHP
sí que ha bajado ligeramente,
se ve muy poquito,
pero ha bajado ligeramente, pero tampoco mucho.
Y lo más interesante de esto
es que Facebook lo sigue utilizando,
Microsoft.com,
la Wikipedia está hecha con PHP,
toda la Wikipedia está hecha con PHP.
Hay un montón de páginas que siguen utilizando PHP
y, para que os hagáis una idea de lo popular que es PHP,
las 10.000 páginas más visitadas del mundo,
una de cada cuatro,
utilizan PHP.
Lo cual es un dato bastante impresionante.
No hay muchos lenguajes
del lado del servidor que pueda tener
ese tipo de dato
tan fácilmente, para que lo sepáis.
¿Vale?
Así que, dicho esto,
ya teniendo instalado y sabiendo de PHP,
vamos a empezar con PHP.
Vamos a empezar un proyectito.
Así que vamos a poner aquí.
Ya os digo que la idea es empezar desde cero
hasta terminar y desplegar nuestro proyecto a internet.
Y lo vamos a hacer totalmente gratis.
Así que, eso está bastante chulo.
Espero que os guste.
Muy bien.
Vamos a empezar con nuestro proyecto.
Vamos a poner curso PHP.
CD, curso, PHP.
Y vamos a levantar esto.
Yo voy a utilizar Visual Studio Code,
pero hay dos editores
que os podría recomendar muy fuerte
para que utilicéis.
Uno, obviamente, sería Visual Studio Code,
que es el que yo personalmente voy a utilizar.
Pero hay una alternativa de JetBrains
muy interesante,
pero que por desgracia
es de pago,
aunque se puede llegar a conseguir gratis
de diferentes maneras y tal.
Pero fijaos que pone prueba gratis 30 días.
Si vas a trabajar,
si vas a crear con PHP,
PHP Storm seguramente tiene
la mejor experiencia de desarrollo
que te puedas encontrar.
Si eres estudiante,
puede ser que lo consiga gratis,
puede ser que consiga gratis
de diferentes formas,
pero normalmente,
para la gente normal,
fijaos que es de pago.
Lo digo para que lo sepáis.
Luego, para uso particular,
son 100 euros.
Tú ya verás ahí si te lo puedes permitir,
aunque ya os digo que hay formas
que hay gente que a veces
se puede utilizar gratis
haciendo cositas y tal.
Pero bueno, para que lo sepáis,
sea PHP Storm,
que es el que más recomiendan,
yo no voy a utilizarlo,
yo voy a utilizar Visual Studio Code.
Para Visual Studio Code,
lo primero que os diré,
una cosita interesante,
y es que hay un montón de extensiones de PHP.
Aquí si buscáis PHP,
os podéis volver locos
con las extensiones.
Yo la que os recomiendo,
la que os recomiendo instalar,
esta no,
esta que de hecho la tengo instalada,
no sé por qué,
pero esta no,
la que os recomiendo para instalar,
para empezar,
es esta,
PHP IntelliFence,
¿vale?
Que entiendo que esto lo han hecho
por una gracia del elefante,
Elefence.
Esta es la que os va a formatear el código,
os va a ayudar con errores,
ahora lo veremos,
que nos va a dar algunas pistas
de nuestro código,
y para que os funcione esta,
hay que desactivar
la que viene por defecto de PHP.
Así que ponéis
arroba,
built-in
y luego PHP
y fijaos que yo
ya he deshabilitado esta,
características del lenguaje PHP.
Esta la tengo deshabilitada.
Así que deshabilitáis esta,
pero esta la dejáis,
porque esta es la que tiene
el resaltado de sintaxis.
Esta la dejáis.
La única que tenéis que deshabilitar
es esta.
Deshabilitáis esta,
la que viene ya instalada
por el editor
e instaláis
la que os he comentado,
¿vale?
Buscáis PHP
y veréis que además
es la que tiene más instalaciones,
o sea que no tiene mucha pérdida.
Esta,
php
intellifense.
Ahora,
si os gusta más otra
por lo que sea,
pues oye,
pues ya está,
no hay ningún problema.
A mí es la que mejor me funciona.
Muy bien.
Una vez que ya tenemos esto,
pues vamos a crear
nuestro primer archivo.
Los archivos de PHP
utilizan la extensión php,
no tiene mucha pérdida.
index.php
y aquí ya crearíamos
nuestro primer archivo.
Pero antes de crear
nuestro primer archivo,
para asegurarnos
que todo funciona correctamente,
podemos ir a la terminal.
Entonces,
lo primero que vais a hacer
para aseguraros
que lo tenéis instalado,
php-v,
que esto va a decir la versión.
Así os dais cuenta
si también tenéis
una versión antigua,
lo que sea.
php-help
para ver todos los comandos disponibles.
Y si nos ponemos a mirar
todos los comandos disponibles,
pues hay algunos muy interesantes,
como por ejemplo este,
que te permite ejecutar código
sin necesitar crear los script tags,
las etiquetas de PHP,
que luego veremos,
que lo vamos a utilizar ahora.
Y hay otro por aquí
que te permite crear un servidor web.
Mucha gente se cree
que para tener un servidor web
con php
tienes que como mínimo
tener Apache,
que será lo recomendado
en producción.
Pero para desarrollo
lo vamos a poder hacer
súper fácil
y de hecho,
ahora te lo voy a enseñar.
Lo primero que vamos a hacer,
un hola mundo,
php-r
y le vamos a decir
el código
que queremos que ejecute.
Ahora le vamos a decir
echo,
que sería como un console.log,
¿vale?
Como si sabes JavaScript
y si no te cuento.
El echo lo que va a hacer
es mostrar en consola
o en la salida
el mensaje
que nosotros le pasemos.
Así que le vamos a decir
hola mundo
y vamos a terminar
con un punto y coma.
Y al ejecutar esto,
fíjate que aquí tenemos
hola mundo,
¿vale?
Ya tenemos nuestro primer
hola mundo,
fácil.
Esto así no vamos a trabajar,
obviamente.
Lo que vamos a tener
es nuestro archivo.
Así que nos vamos
a nuestro archivo php
y aquí vamos a poner
nuestro echo,
vamos a poner echo,
hola mundo
y ya está.
Pero fijaos
que no se ve
la sintaxis
ni nada.
Y es que php
tiene una particularidad
muy interesante
cuando trabajamos
con sus ficheros
que necesitamos
utilizar etiquetas.
Unas etiquetas
un poquito especiales
que poco a poco
ya te irás familiarizando
que es esta.
Tenemos que envolver
el código de php
en estas etiquetas
que es como mayor,
o sea,
menor,
un interrogante,
php
y aquí pondríamos
el código
que queremos ejecutar.
Así que
este,
en este caso,
sería opcional
porque el cierre
ya no lo necesitaríamos,
o sea,
que sería opcional,
esto funcionaría.
Vamos a probarlo,
ponemos php
y el archivo
que queremos ejecutar.
Y fijaos,
hola mundo,
si cambiamos aquí,
hola mundo,
y volvemos a poner aquí,
pues ya funciona.
Fijaos que
la etiqueta de cierre
en este caso,
en este caso,
es opcional,
aunque normalmente
es buena idea
que la pongáis.
¿Por qué buena idea?
Fijaos que
si la dejo aquí,
me la quita
porque se está formateando
directamente el código
con la extensión
y considera
que no la necesitamos.
Pero yo,
cuando utilizaba php,
a mí me gustaba dejarla
porque es muy fácil
que a la mínima
quieras poner algo de fajo
o lo que sea.
Pero que sepáis que
la podéis poner,
pero que es opcional.
Ahora,
no vamos a estar ejecutando
todo el rato aquí
nuestros archivos así
porque php está muy ligado
al desarrollo web.
Por lo tanto,
lo que vamos a querer
es crear una página web
y vamos a levantar
un entorno de desarrollo
que tengamos un puerto
en localhost
que podamos acceder,
ver nuestros cambios,
ir cambiando
y ver cómo se va respondiendo.
Así que vamos a hacer aquí,
vamos a utilizar
el comando que os comentaba,
aquí vamos a poner
php-s
que lo hemos visto antes
y le vamos a decir
que en localhost
en el puerto 8000
queremos levantar
el entorno de desarrollo.
Esto automáticamente
lo que ha hecho
es que ha detectado
que tenemos aquí
un archivo index.php
y si accedemos
a nuestro puerto
localhost 8000,
fijaos lo que tenemos aquí.
Hola mundo.
Fíjate que aquí
también vemos el eco.
El eco no va a lanzarlo
a la salida de la consola
sino que lo va a hacer
a la salida que considere.
En el caso de que
cuando ejecutamos el php
lo ha terminado
enseñando en la terminal
pero fíjate que aquí
lo está enseñando
en la página web
porque entiende
que donde tú vas a estar trabajando
donde tú quieres
mostrar esa salida
es en la página web.
Tenlo muy en cuenta,
no pienses que el eco
es exactamente
como un console log
que se queda
como una consola oculta
porque como puedes ver
el eco en realidad
sí que refleja los cambios
en la salida.
Así que ahora por eso
estamos viendo aquí
nuestro hola mundo.
¿Vale?
Muy bien.
Y si quieres mostrarlo en consola
aunque haya página web,
hostia, buena pregunta.
No tengo ni idea.
¿Cómo era el...?
O sea, sí me acuerdo
pero ¿cómo era el console log
de php?
Puede ser...
No, vardamp sale
por la salida normal.
Luego lo vamos a ver
y vais a ver que también
sale por la salida normal.
Eco no, eco no.
Printr puede ser.
Dive sería para terminar
el proceso.
Lo que sí que podrías hacer
si quisieras más...
O sea, si quisieras mostrarlo
en la consola y javascript
aquí podríamos mezclar javascript
y poner en la consola y tal
eso también lo podemos ver después.
¿Vale?
D, D es en Laravel.
Claro, eso es en Laravel.
Vardamp es que vardamp no es.
Ahora veréis por qué.
Luego veréis por qué.
Porque vardamp es para...
También hace exactamente lo mismo
que lo muestra en la salida
de la página web
y es para otra cosa.
Totalmente diferente.
Entonces, ya tendríamos aquí
lo primero, ¿vale?
Si vamos aquí
pues podemos ver
cómo van saliendo aquí cosas,
las peticiones que vamos haciendo,
¿vale?
Nos dice que el favicon,
el get...
Cada vez que hagamos una petición
lo tenemos por aquí.
Vamos a empezar a hacer
las primeras cositas.
A ver,
si empezamos a hacer cosas
como los eco,
pues vas a decir
bueno, pero esto ecos y tal.
Lo más interesante
que tiene PHP
justamente es la mezcla
y la magia
de tu poder poner
tanto HTML
como JavaScript
como CSS
en la misma página.
Por ejemplo,
si aquí vamos a poner...
Lo vamos a cerrar aquí.
Yo aquí ya puedo poner un style
y puedo estilar nuestra página
como me dé la gana.
Vamos a ponerle
que tenga un modo oscuro,
¿vale?
Vamos a poner aquí
que nos centre todo el contenido
y además
este PHP
que tenemos aquí
Place Content Center
este PHP
que tengo aquí
fijaos con este eco
voy a envolverlo
en un H1.
Y esto
es uno de los usos
más típicos
que ha tenido PHP
durante mucho tiempo.
No solo se puede utilizar
PHP así
podrías utilizar PHP
solo para hacer un backend
y que se respondiese
a peticiones
pero en este caso
fíjate que también
se ha utilizado
durante mucho tiempo
como un sistema
de plantillas
porque se puede mezclar
con HTML
y ponerle el eco
aquí.
Aquí por ejemplo
si en lugar de poner
este eco
pues vamos a poner aquí
que sea
mi primera app
¿vale?
Y guardamos los cambios
nos vamos aquí
y fijaos
aquí tenemos
mi primera app.
Así que puedes ir
mezclando HTML
con PHP.
Esto es una de las razones
por las que ha sido
popular
pero también
impopular a la vez
porque la gente
mezclaba mucho
HTML
con JavaScript
con PHP
inyectaba el código
seguía ejecutando
y tal
y esto lo hacía
muy complicado
de tratar
pero no es culpa
del lenguaje
muchas veces
el problema aquí
lo que está pasando
es culpa nuestra
de cómo nosotros
tratamos el lenguaje
pero bueno
esto vamos a ver
que hoy
vamos a estar utilizando
bastante PHP así
para que podamos ir viendo
todos los resultados
y más
pero que no tiene
por qué ser la única
forma de utilizarlo
de hecho
para simplificar esto
y no tener que poner
todo rato
PHP
eco
existe una forma corta
de hacer exactamente
lo mismo
para hacer este sistema
de plantillas
que es utilizar
esta forma corta
esta forma corta
lo que hace es
un eco
de esta cadena
que luego veremos
que además las podemos
hacer un poquito
más complicadas
y aquí
la forma corta
se digamos
que se mete mejor
en mitad del HTML
se lee un poquito mejor
si vamos aquí
ves mi primera app
y aquí tengo ahora
con las exclamaciones
que hemos puesto aquí
esta sería la forma corta
y la que sería recomendada
siempre que puedas
cuando lo vas a poner
dentro de etiquetas
o lo que sea
para no estar repitiendo
constantemente
el eco
ahora
PHP
tú puedes crear
tantas etiquetas
como quieras
y necesites
dentro del archivo
y dentro
ya podrías crear
tus primeras variables
por ejemplo
aquí vamos a poner
una variable
y voy a ponerle
que se llama
Miguel
ahora
¿cómo se crean
las variables en PHP?
primer carácter
tiene que ser
el signo de dólar
con el signo de dólares
que estamos
identificando
nuestras variables
y luego le vamos a poner
el nombre
que queramos
el que queramos
bueno
a ver
casi
casi el que queramos
¿por qué?
porque no puedes ponerle
un número
al inicio
fíjate que ya se está quejando
no le puedes poner
ciertos símbolos
sí que le podrías poner
este
pero por ejemplo
le puedes poner
otro dólar
creo que otro dólar
no le gusta
pero bueno
hay símbolos
que seguro
que no los va a aceptar
¿vale?
otros que tampoco
podrías aceptar
ponerle un dólar
al final
fíjate que también
se queja
no lo entiende
pero por lo demás
serían más o menos
similares
a otras reglas
que tienes
en otros lenguajes
de programación
solo ten en cuenta
que no puedes poner
por ejemplo
símbolos al principio
y sobre todo
un número
que tampoco lo puedes hacer
en JavaScript
si es más lejos
luego para asignarle
pues tendríamos aquí
podríamos asignarle
un entero
un boleano
una cadena
una cadena de texto
un poco
lo que sea
una cadena de texto
¿vale?
y luego veremos
otros tipos de datos
como por ejemplo
los arrays
que son muy interesantes
las listas de PHP
porque tenemos arrays
asociativos
que es algo similar
a los objetos
y que lo vamos a utilizar
después
pues esta sería
nuestra primera variable
y la primera variable
pues ya la podríamos mostrar
directamente aquí
igual que habíamos puesto aquí
esta cadena de texto
podemos utilizar también
nuestra variable
para expulsarla
¿no?
y que la muestre por aquí
¿vale?
ya teníamos aquí
nuestra variable
y ya la estaríamos mostrando
una cosa interesante
también que tengáis en cuenta
es que el dólar
no lo podéis poner
tampoco en medio
fijaos que tampoco en medio
que es que
lo he puesto al final
y a lo mejor
por el final
pues la gente se pensaba
que era al final
pero tampoco lo podéis poner
en medio
sino que
si lo ponéis en medio
se va a quejar también
así que tampoco se puede poner
en medio
muy bien
ahora
yo recomiendo que siempre
aquí tengo name
pero por ejemplo
si queremos hacer isDep
pondríamos true
si queremos poner el age
pues pondríamos
39 años
y lo interesante de esto
yo recomiendo siempre
que utilicéis camel case
¿vale?
podéis utilizar aquí
el snake case
no podéis utilizar el kebab case
el kebab case
está prohibido
pero sí que podéis utilizar
el snake case
snake case
son los guiones bajos
pero
yo normalmente
también aquí
utilizo el camel case
a no ser
que sean constantes
que luego
las vamos a ver
te habrás dado cuenta
de una cosa
oye
no estás poniendo los tipos
no estás poniendo
que esto es una cadena de texto
ni que esto es un boleano
ni que esto es un número
y fíjate
que lo mejor de todo
es que si te pones encima
sí que te dice
que esto es una cadena de texto
que esto es true
ni siquiera te dice un boleano
te dice que es true
y aquí sí que te dice
que es un entero
y lo que es más
es que además
si aquí le digo
que no hombre
ahora es un 2
pues fíjate
que esto
se lo come con patatas
y si miramos aquí
fíjate
me pone que es un 2
¿qué está pasando?
¿qué está pasando aquí?
bueno
php
y esto es una cosa
bastante importante
del lenguaje
es que es un lenguaje
de tipado
dinámico
débil
y gradual
ojo
y gradual
esto es muy interesante
y es que
es tipado dinámico
porque no es necesario
declarar el tipo
de la variable
puede cambiar
y puede cambiar
en tiempo de ejecución
o sea
no le estamos diciendo
en ningún sitio
que esto es una cadena de texto
ni le estamos diciendo
que aquí ahora
queremos pasar un número
o sea
que es totalmente
dinámico
está infiriendo
cuál es el tipo
y además lo podemos cambiar
es débil
¿por qué es débil?
porque va a intentar
cambiar los tipos
automáticamente
esto le pasa exactamente
lo mismo
que javascript
¿y cómo lo podemos ver esto?
pues muy sencillo
si aquí por lo que sea
tengo el age
y le digo
new age
y pongo
39
más
1
y lo ponemos así
pues ¿qué esperáis
que sea el new age?
aquí te pone un mix
¿qué esperáis
que va a aparecer aquí?
¿esto os suena
o no os suena?
en este caso
40
¿pero por qué?
esto debería dar un error
debería fallar
debería decirnos algo
bueno
lo que está pasando
es que PHP
también tiene tipado débil
por lo tanto
PHP lo que va a intentar
siempre es convertir
automáticamente
los tipos de las variables
según sea necesario
esto también
nos puede pasar
exactamente
al revés
o sea
si le ponemos aquí
que esto es un 39
y le sumo el 1
¿vale?
le pongo aquí el age
lo más feo de PHP
es que en una variable
puedes poner cualquier cosa
lo más lindo de PHP
es que en una variable
puedes poner cualquier cosa
totalmente
totalmente
vale
pues aquí
si hacemos esto así
¿vale?
le ponemos una cadena de texto
más el número 1
y miramos aquí
40 también
o sea
lo ha convertido
lo ha transformado
directamente
en un número
y ya puedes ver
que aunque en 1
es una cadena de texto
también
uno de los dos
los está transformando
en números
esto quiere decir
que tiene unas reglas internas
¿vale?
tiene unas reglas internas
en las que te va a hacer
una conversión de tipos
y te va a decir
vale
si tienes un número
y una cadena de texto
si tienes una cadena de texto
y un número
voy a intentar hacer
una conversión automática
para que pueda funcionar
correctamente
la operación
que estás intentando hacer
y en este caso
como estamos utilizando
el más
el más sirve
para sumar dos números
por lo tanto
lo que está haciendo
es convertir
las dos variables
si fuese necesario
a número
pero fijaos en una cosa
que esto no pasa
con la concatenación
porque la concatenación
de strings
es con otro
con otro símbolo
si intentamos
hacer con un más
39 cadena de texto
más 1
y aquí lo miramos
bueno voy a poner otro número
para que lo veáis
44 más 1
fijaos que es 45
esto es porque
el símbolo de más
no sirve
para concatenar
cadenas de texto
esto es una cosa
que es muy típica
en javascript
pero que no es
como funciona
en php
por lo tanto
como el operador
de suma
solo sirve
para sumar números
no va a intentar
concatenarlas
para eso
tendríamos que utilizar
otro operador
que es el punto
y ahora sí
los concatenaría
vale
y fíjate
que si intentamos
concatenar
el 44
y el 1
también nos dejaría
el mismo resultado
porque entiende
que este operador
solo es para cadenas
de texto
y dice
pues voy a intentar
convertir
esta variable
y este 1
en una cadena de texto
para concatenarlas
vale
esto sí que es una cosa
interesante
que vais a tener que utilizar
un montón de veces
y está bien que la
que la sepáis
y ahora
he dicho que tiene
tipado débil
tipado dinámico
y otra cosa
que es importante
e interesante
que es
gradual
aparte de que php
puede inferir
el tipo de la variable
también
opcionalmente
podéis
indicar
explícitamente
los tipos
de las variables
le puedes decir
esto es un entero
esto es
es un
es un número
es un boleano
es un lo que sea
ahora bien
esta opcionalidad
aparte de que es opcional
no es en cualquier sitio
no podemos decirle
que una variable
es un entero
y tal
digamos que hay ciertos
contextos en los que
sí que podemos decirle
en clases
en funciones
pero no podemos poner
no tiene un tipado
completo
de que en cualquier sitio
lo puedes hacer
hay en ciertos sitios
en ciertos contextos
donde sí que le puedes
indicar
y le puedes decir
cuál es el tipo
de las variables
de los parámetros
de lo que devuelve
una función
en las que estamos
trabajando
así que
es gradual
porque gradualmente
vosotros
lo que podéis hacer
es que tenga
un sistema
de tipos
que entonces
sí tendría
que utilizarse
pero
es opcional
así que si queréis
no lo utilizáis
esto es una de las cosas
que justamente
se habla mucho
que se quiere utilizar
en otro
en javascript
por ejemplo
y hay otros lenguajes
de programación
que tienen una estrategia
similar
ahora vamos a ver
uno de los métodos
más importantes
y muy interesantes
que tenemos
que es el método
bar dump
justamente aquí
que teníamos diferentes
voy a poner esto
y voy a quitar
voy a poner esto
uno de los métodos
que te va a salvar
más la vida
no es el eco
sino que es el bar dump
el bar dump
te va a decir
exactamente
el tipo de datos
y el valor del dato
que tiene en ese momento
una variable
por ejemplo
aquí ponemos
bar dump
vamos a decir
el name
el isdeb
y el age
y si volvemos
a nuestro proyecto
fíjate
que aquí nos lo está poniendo aquí
vale
el new age
que lo había puesto aquí
esto voy a poner
vamos a poner aquí el name
y vamos a poner
hola
punto
vale
que ya hemos visto
que esto es para concatenar
así que vamos a concatenar
el hola
con el nombre
vale
pues fíjate
aquí lo que tenemos
es que nos dice
el tipo de datos
nos dice 6
porque 6
porque tiene 6 caracteres
aquí en boleano
nos dice que el valor es true
y en int
tendríamos 44
que es el valor numérico
que tenemos
vale
esto es lo que hace
bar dump
pero ojo
cuidado
porque fíjate
que bar dump
lo está mostrando también
en la propia
en la propia página web
una cosa muy interesante
que justamente habrás visto
es que cuando utilizas esto
y este error
lo habrás visto
mil millones de veces
y que tiene mucho peligro
es que
los errores
de php
por defecto
especialmente
en entorno de desarrollo
te aparecen
todos ahí
puestos
en la página web
ya te digo
que lo utiliza
como si fuese
la salida
entonces te dice
advertencia
estás utilizando
esta variable
que en esta línea
y esto te puede dar
un montón de información
para desactivar
este tipo de cosas
para desactivar
este tipo de cosas
lo que tienes que hacer
es utilizar
php
y ni
tienes que desactivar
el display errors
tienes que configurarlo
para asegurarte
que estás en un entorno
de producción
y que nunca escupes
los errores
para que la gente
los vea
porque es una fuente
de problemas
si por lo que sea
tienes un error
en los datos
y te aparece ahí
la traza
de dónde está el problema
en qué línea
en qué fichero
y todo esto
ten en cuenta
que un atacante
se puede dar cuenta
de esto
utilizarlo
en tu contra
así que asegúrate
de que estás
revisando siempre esto
y utilizando
en producción
o sea evitando
hacer esto en producción
igual que tenemos
el bar dump
también tenemos uno
que se llama
get type
el get type
directamente
lo que te dice
es el tipo de dato
este puede ser interesante
si lo único que os interesa
es el tipo de dato
para saber si algo es
de una cosa u otra
no queréis saber
tanto el valor
vale
tenemos que utilizar
el echo
porque este sí que
no lo lanza
ves tenemos aquí
null
bolean
integer
nos lo pone así
pero también
en php
una cosa que tenemos
es que no necesitas
el get type
para hacer una comparación
y ver el tipo
tiene un montón
pero un montón
de métodos
que te va a revisar
si es de un tipo
o del otro
por ejemplo
is string
pues te devolvería
true o false
en el caso
de que sea un boleano
o sea
una cadena de texto
tendrías un is bold
tendrías un is integer
vale
tendrías diferentes métodos
para revisar esto
y así no tener que
preocuparte
de recuperar el get type
y hacer esa revisión
a mano
vale
así que
si por lo que sea
necesitamos mirar tipos
lo haríamos así
y ya lo tendríamos
mucho mejor
y sin necesidad
de hacer una comparación
más forzada
y hablando de forzar
una cosa interesante
de los tipos
es que puedes hacer
un type casting
un forzado de tipos
si por lo que sea
que no es habitual
pero si por lo que sea
tú quisieses
este número
transformarlo
en un boleano
lo puedes hacer
si pones un prefijo aquí
y le dices
bold
vale
44
esto lo que va a hacer
vamos a poner aquí
con una edad
de
y le vamos a poner
el edge
aquí estamos haciendo
una transformación
del type 44
a boleano
si hacemos la transformación
pues nos vamos a dar cuenta
que está poniendo 1
¿por qué?
porque el 1
digamos que sería
el valor que sea true
si ponemos 0
pues veis que ahora
desaparece
porque ya no tiene
ese valor true
sino que sería nulo
porque sea como el false
entonces esto sería
forzando la transformación
a un boleano
del número 44
lo mismo lo podéis hacer aquí
con un entero
con lo que sea
no es lo habitual
no es lo más interesante
fijaos que las cadenas de texto
se transforman
en el número 0
tiene algunas cosas
un poquito especiales
pero solo para que sepáis
que se puede hacer
si por lo que sea
en algún momento
lo necesitáis
o si lo veis
la sintaxis
en cualquier sitio
¿vale?
ya hemos visto
la concatenación
de las cadenas de texto
también
pero una cosa
que es interesante
las cadenas de texto
estas
es que también funcionan
como que puedes hacerla
más de una línea
si por lo que sea
esto queda demasiado largo
una cosa que podéis hacer
es ir haciendo así
y podéis ir concatenando
esto así
y va a funcionar
perfectamente
esto en este caso
no es tan útil
luego veremos
como lo hacemos mejor
pero solo para que entendáis
¿vale?
que fijaos
con Miguel
y aquí lo vamos a hacer
coma
con una edad
de
y aquí vamos a seguir
concatenando
punto
y ya vamos a poner un punto
vamos a poner un emoji
¿vale?
pues fijaos
que lo podéis hacer así
aunque vosotros aquí veáis
multilínea
y esto es muy importante
aunque aquí veáis
una multilínea
tener que tener en cuenta
que lo que estáis expulsando
en realidad
es una línea
es una línea aquí
que no tiene ningún salto de línea
y para hacer un salto de línea
en realidad al final
lo que necesitaríais
es hacer un salto de línea
con un break
tendríais que utilizar HTML
fijaos que si pongo un break
pues ahora sí que salta
o sea
podéis utilizar HTML
donde queráis
tanto fuera como dentro
podéis hacer que esto expulse
HTML
o podéis hacer que esté fuera del eco
y ya está
de hecho
esto es uno de los problemas
que suele tener PHP
como es muy fácil
inyectar
HTML
y expulsamos aquí
a veces el HTML
si no sanitiz
sanitaz
sanitizas
no se pone
sanitizas
no
sanitizas
no
como sería la correcta
no
el salto de línea de N
no funcionaría en este caso
porque el HTML
no lo
no funcionaría
sanitizar
sanitizar
sanitizamos
sanitizamos
yo sanitizo
tú sanitizas
purgar
purgar me gusta
limpiar
también estaría bien
satanizar
que bueno
que bueno
entonces
¿por qué os digo esto?
porque fijaos
yo aquí podría poner un script
y hacer esto
podría intentar hacer esto
¿vale?
y aquí ir a la consola
y aquí tenemos el alert
entonces
así de fácil sería
el tema de
si un usuario
por lo que sea
nos fiamos de su input
y lo renderizamos
sin arreglarlo
de ninguna forma
fijaos
que ya lo tendríamos así
ahora
¿esto es culpa de PHP?
hombre pues no
no es culpa de PHP
es que está pensado a eso
esto es
hay un montón de frameworks
que esto ya te lo simplifican
no te permiten
que hagas tan fácilmente
un XSS
o evitan que utilices el echo
para que utilices una forma
o un formato
que sí que limpia la salida
¿vale?
solo para que lo sepáis
porque es bastante importante
que lo tengas en cuenta
entonces
ya tendríamos
bueno
vamos a quitar el script
¿vale?
si hacéis lo del salto de línea
que alguien me decía
utiliza el salto de línea este
el salto de línea este
el salto de línea
aquí está
pero no es visual
fijaos que si yo me pongo
a mirar aquí
inspecciono
sí que vamos a ver
el salto
pues ni siquiera
vamos a ver el salto de línea
no vamos a ver el salto de línea
o sea que
si lo que queréis
es salto de línea
que sea visual
ahí en el HTML
vais a necesitar
que sea con un break
o con otro tipo de etiquetas
o con lo que sea
aquí no va a funcionar
¿vale?
para que lo sepáis
muy bien
entonces
ya tendríamos el get type
ya tenemos el type casting
concatenación
los saltos de líneos
cómo funcionan
una cosa aquí
esto os lo he puesto
para que sepáis
que podéis hacer multilínea
lo mejor aquí
obviamente
tendría que hacer
un output
y a lo mejor
hacer esto
pam pam
¿qué hemos hecho?
¿qué se puede hacer con esto?
lo que se puede hacer es
directamente la interpolación
de cadenas
igual que
en JavaScript
y en otro lenguaje de programación
lo que podemos hacer
es evaluar
dentro
pues una variable
también aquí lo podemos hacer
pero ojo
porque las cadenas de texto
entonces tienen que ser
con comillas dobles
las cadenas de texto
en PHP
las podéis hacer también
con comillas simples
pero las comillas simples
no aceptan
la interpolación de cadenas
si hacéis esto
lo que va a entender
es que esta variable de aquí
es que la quieres escribir así
fíjate
que hacemos aquí
nos vamos a nuestra consola
y me la ha puesto así
entonces
si queréis
que realmente quiera
evaluar las variables
que hay dentro
tenéis que utilizar
las comillas dobles
fijaos que ahora
sí que sale resaltado
si guardamos
si volvemos aquí
vale
pues ahora sí que tenemos
el valor correcto
esta sería la forma
más adecuada
de hacer esto
pero bueno
estamos viendo las otras
también para que veáis
cómo concatenar
otra forma de concatenar
que te puede servir
es
haciendo aquí
output
punto
igual
y esto lo que va a hacer
es que va a concatenar
lo que tenía antes
con el nuevo
vale
importante que el punto y coma
en PHP
no es opcional
como podéis ver
si quitáis un punto y coma
se vuelve loco
y esto sí que es muy interesante
¿por qué se vuelve loco?
porque el punto y coma
es innecesario en PHP
pues la realidad
es que
PHP
cuando
compila
digamos
internamente
cuando está evaluando
el código
lo que hace es
eliminar
todos los saltos de línea
por lo tanto
PHP
cuando va a evaluar el código
lo que ve es esto
esto es lo que está viendo
vale
por eso necesita
los puntos y coma
que muchas veces
no entendemos
¿por qué necesita el punto y coma?
pues lo necesita por esto
porque cuando está evaluando
internamente el código
hace esto
y por lo tanto
fíjate que el error
que me está dando
es el mismo
ves
unexpected variable name
no sé qué
no sé cuánto
unexpected tal
porque es que es exactamente
el mismo error
porque tanto así
como así
es el mismo error
el mismo error
así que para que lo tengas en cuenta
punto y coma
no es opcional
con esto también
estaríamos haciendo
la concatenación
¿vale?
puedes utilizar ahí eso
por si lo necesitas
aunque en este caso
yo creo que queda mucho más fácil
como lo teníamos
así que vamos a volver
y ya lo tenemos
la forma más fácil
ahora si lo que necesitáis
es escapar este dólar
porque claro
alguien me dirá
no no
pero yo quiero que
se vea exactamente esto
podéis escaparlo
como en casi todos los sitios
con la contrabarra
¿vale?
utilizando la contrabarra
ya lo que hará
será ignorar este dólar
y lo que va a hacer es
o sea
ignorar el significado léxico
en el código de este dólar
y lo que va a hacer
es mostrarlo
como si fuese un carácter
y ya lo tendrías
si no
puedes utilizar las comillas simples
lo que te sea más simple
pero hay veces
que necesitas escapar
algún símbolo
puede ser por ejemplo
si quieres escapar
las comillas dobles
pues también lo haríamos así
fijaos que entonces
así esas comillas
lo que hace el php
es decir
vale
esta comilla
sí que es de la cadena de texto
y esta lo que estoy haciendo
es escaparla
porque lo que quiero
es mostrarla
no evaluarla
como si fuese parte del código
¿vale?
así que esas son las dos cosas
importantes
para el tema de php
ahora seguimos con las constantes
pero antes
os leo un poquito
y midu
¿por qué ya no usaría php
para un proyecto nuevo?
¿por qué no lo usarías?
o sea
me parece que todavía está
bastante bien
interesante
es bastante rápido
a la hora de hacer cosas
se puede desplegar
bastante barato
¿por qué no lo usarías?
pues porque
sabes más otro lenguaje
de programación
porque yo sinceramente
me parece que php
pues puede ser una buena opción
no solo ya
utilizando wordpress y tal
con Laravel
sin ir más lejos
¿no?
mira proyectos nuevos con Laravel
por ejemplo hay todos los días
o sea que sí
¿y qué opino de wordpress?
porque es una maravilla
wordpress
tiene su tiempo
pero buenísimo wordpress
como CMS
solo por la comunidad
que tiene
y las posibilidades
o sea me parece increíble
¿se puede combinar php con astro?

puedes utilizar astro
y utilizar php como backend
lo podrías llegar a hacer
¿eh?
el problema es el rendimiento
no
php no es lento
la verdad
no sé por qué
mucha gente
sé que
mira hace poco
hace unos meses
que hace poco
se ha puesto otra vez de moda
porque lo volvió a compartir
en
en twitter
el tema
que hablamos de php
que hubo un poco de queja
había gente aquí ¿no?
que ponía
php es cuatro veces más rápido
que javascript
hace cinco meses hablamos de esto ¿no?
y alguien hizo un tweet
donde enseñaba que
php era cuatro veces más rápido
que javascript
y yo decía
a ver
es una tontería
el benchmark
pero php no es lento
ni es el más rápido
ni es el más lento
pero la verdad es que
para página web
es bastante rápido
a la hora de
renderizar la página web
escala bastante bien
es bastante rápido
sinceramente
ahora
todo depende del uso
que le vayas a dar
qué es lo que va a hacer
más por dentro
php ¿no?
así que depende mucho
del uso que nosotros le demos
es lo que hay que pensar
pero para hacer página web
está súper bien
sinceramente
no digo que esté mal
mira el level sayo
supongo que lo sabéis
¿eh?
Amidu defendiendo a php
dámelo siempre
jaja

pero si es que
yo nunca tengo ningún problema
con php
mira remote ok
es solo un archivo php
llamado index.php
que ha generado
65.000 dólares
y creo que lo ponía
en algún sitio
cuántas líneas de código
eran
no me acuerdo
pero mira
php 7
tal
la verdad es que
va bastante rápido
php
no consume
no consume mucha
memoria
y ha mejorado mucho
con el tema de la caché
cuando ya la integraron
en la caché
esta
de
zen
o pch
que esto en su día
claro esta es la de zen engine
esto es de la propia empresa
y tal
pero antes no tenía una caché
de los objetos
y todo esto
y sí que era un poco lento
pero te estoy hablando
de hace años
ahora ha mejorado muchísimo
el tiempo
y ya con las caché
eso es que va
bastante rápido
o sea que me parece
que el tema de rendimiento
lo veo muy bien
sinceramente
no veo que haya ningún problema
para hacer páginas web
normales y corrientes
luego ya cada uso
puede ser un poco más específico
quien sabe
a lo mejor haya otra opción mejor
en mi empresa usamos 5.6
con código espagueti
y es un infierno
claro
ese es el problema
y por el que php
muchas veces
tiene muy mala fama
es por el código espagueti
que muchas veces hacemos
pero no es culpa del lenguaje
porque una vez que utilizas
Laravel
sin ir más lejos
ya te fuerza
porque es un framework
ya te fuerza
a tener unas mejores prácticas
pero es verdad
que los codebase de php
legacy son un infierno
pero
voy a hacer una cosa
muy polémica
y que Dios me perdone
pero es que lo mismo
le pasa exactamente
a muchos proyectos
de C Sharp
y .NET
que se utilizaban
como si fuese un .NET
hay un php
exactamente igual
digo los legacy
no digo los de ahora
digo los legacy
de la época
que tenías HTML
que se mezclaba
con el C Sharp
y con llamadas .NET
y tal
y esto le ha pasado
a C Sharp
a Java
a Java también
Java
pues si un proyecto legacy
seguro que lo habréis visto
de mezclar HTML
con un montón de cosas
entonces
que no es culpa del lenguaje
no es culpa del lenguaje
pero es verdad
que como había tanto de php
que le pasaba eso
pues yo creo que por eso
justamente tuvo esa mala fama
hola Midu
hola
cuando no quiero usar Nest
yo uso php
con Laravel
y me va muy bien
como API
también a veces
lo uso con
web o React
más live uire
para renderizar páginas
por cierto
algún otro framework
de backend
que recomiendes aprender
backend
de express
que es
es la leche
de utilizado
mira
Jono
que cada vez
lo veo más
y me parece muy interesante
bueno
hablemos de las constantes
las constantes en php
hay dos
porque
hay dos tipos
porque las variables
están destinadas
a cambiar
vale
las variables
la idea es que las puedas
volver a asignar
por lo tanto aquí podemos poner otro nombre
y esto se lo va a comer con patatas
pero tenemos dos tipos de constantes
una que serían las globales
las que se definen
nunca mejor dicho
con define
con el método define
podríamos decir aquí
pues mira logo URL
voy a poner por aquí
el logo de php
que lo tengo aquí
pues mira
el logo de php
sería define
y esto lo que va a hacer
es una constante global
que en cualquier lugar
de nuestra aplicación
vamos a poder utilizarla
obviamente el define
como te puedes imaginar
con las constantes
si lo intentamos hacer dos veces
ojo
porque esto es interesante
se va a quejar
porque la declaración
la estamos haciendo dos veces
pero si vamos al código
tenemos un warning
pero no peta
vale
o sea tendríamos un warning
que se podría comer con patatas
lo digo que esto es interesante
porque a la hora de definirlas
si las definís en diferentes ficheros
y no os dais cuenta
puede ser que os traguéis
estas advertencias
porque las tengáis desactivadas
y no os deis cuenta
entonces tenedlo en cuenta
yo os recomiendo
que si vais a definir constantes
lo hagáis solo en un archivo
a lo mejor pues const
o init const
o lo que sea
o init globals
o globals
o lo que sea
pero no lo hagáis en los archivos
nunca hagáis esto aquí
en medio
porque es muy fácil
que lo dupliques en cualquier sitio
vale
así que aquí tendríamos esto
y como podríamos
como hemos dicho antes
que aquí
podríamos poner
y utilizar
pues fijaos
este logo url
lo podríamos utilizar aquí
y ya tendríamos el logo de php
vale
estos serían los globales
pero también podéis hacer
las locales
que locales serían locales
a nivel de clases
o a nivel
de donde estamos trabajando
en este caso aquí
o sea creamos const
y le decimos
bueno pi
podría ser un poco rollo
vamos a poner
bueno name
ya estamos utilizados
que podemos utilizar
de constante local
bueno voy a poner nombre
vamos a utilizar siempre
con las constantes
todo mayúscula
vale
para que sea más fácil
de indicar
fíjate que las constantes
no hace falta
que pongas el dólar
vale
no hace falta
de hecho no te deja
te dice no no
el dólar
aquí no lo utilices
y las constantes
sirven exactamente igual
aquí pues ya lo podemos utilizar
pondríamos aquí el nombre
sin el dólar
y ya la podríamos utilizar
y tendríamos aquí
Miguel
las constantes
son constantes por algo
no te van a dejar
aquí que las vuelvas a
las vuelvas a cambiar
vale
te va a decir
la expresión
no se puede escribir
y ya está
serviría para eso
para constantes
que están más cerca
del código
de ese fichero
a nivel de clases
que las veremos más adelante
a nivel de clases
puedes tener constantes
lo que ojo
porque las constantes
no funcionan
en tiempo de ejecución
y esto que quiere decir
pues que por ejemplo
constantes
no podrías tener constantes
que funcionasen
dentro de un bucle
y que fuesen dinámicas
porque claro
si son dinámicas
serían en tiempo
de ejecución
y estas son en tiempo
de compilación
o de evaluación
entonces ojo
con estas constantes
porque son como
estáticas
tienen que ser constantes
que no van a depender
de valores
que están
en tiempo de ejecución
para eso al final
vas a utilizar
las variables
y ya está
vale
así que esas tendrían
las constantes
luego
para terminar ya
con los booleanos
para que tengamos claro
pues con booleanos
tendríamos aquí
por ejemplo
isAlt
podréis hacer
todas las comparaciones
que queráis
que necesitéis
típicas
y tópicas
a ver
aquí me he cambiado
vamos a poner
el output
otra vez aquí
output
vale
comparaciones
de que sean
así
mayor que
igual que
si es una igualdad
podéis también
incluso hacer
que cambie
si tiene
dep
pues le podéis
dar la vuelta
vale
la negación
también la podéis
hacer
podéis utilizar
los operadores
booleanos
de toda la vida
y entonces
la edad
es mayor a 40
todo esto
lo podéis hacer
en php
también
por supuesto
pero lo más interesante
no va a ser
tanto
esto que ya os podéis imaginar
sino que va a ser
con los if
porque
bueno
vamos a ver el tema
de los if
a ver
los if
funcionan como en cualquier
otro sitio
si ponemos aquí
if isAlt
vamos a decir
que entonces
vamos a hacer un eco
y vamos a poner
eres viejo
bueno
si soy viejo
eres viejo
lo siento
vale
vamos a poner aquí
un h2
vamos a cerrar aquí
si es mayor de 40
le vamos a decir
que eres viejo
vale
vale
pues eres viejo
porque la edad
es mayor de 40
si aquí
le podemos decir
else
y ya por lo típico
pues eres joven
felicidades
bien por ti
no por mi
vamos a cambiarle la edad
y veríamos que ahí
estamos entrando
eres joven
felicidades
hasta aquí
lo típico
y lo tópico
y lo mismo
si por lo que sea
queremos tener
un else if
si queremos un else if
pues también lo podemos hacer
sin ningún problema
pero aquí hay una cosa
un poco especial
con el else if
que es importante
que sepas
porque dependiendo
de donde lo veas
te lo vas a encontrar
de una forma o de otra
imagínate
si es alt
entra aquí
si no eres alt
pues vamos a poner
que si es dev
vamos a decirle
no eres viejo
no eres viejo
pero eres dev
está jodido
vale
y porque esto
es interesante
bueno
pues es interesante
porque resulta
no eres viejo
pero eres dev
está jodido
es interesante
porque else if
también se puede poner
junto
es raro
en un lenguaje
te permite
tanto junto
como separado
y habrá un código
que te lo vas a encontrar
junto
o separado
pero esto
no es siempre el caso
y por qué
no es siempre el caso
pues porque resulta
que hay una sintaxis
alternativa
para el if
hay una sintaxis
alternativa
justamente
por esta
este uso
de php
como sistema
de plantillas
que a veces
se utiliza
y vamos a hacerlo
aquí abajo
vamos a quitar
todos estos estilos
que no nos aportan
vamos a poner esto
por aquí
fijaos aquí
vamos a poner esto
dentro de php
y perfecto
pero claro
esto
lo podríamos mejorar
un poquito más
imaginad
que no solo queremos
poner una sola línea
sino que realmente
queremos
poner trozos
bastante grandes
de nuestro código
dependiendo
de estas condiciones
pues hay una sintaxis
alternativa
en php
para trabajar
con los if
para que se utilice
como un sistema
de plantillas
y sería básicamente
con los dos puntos
podríamos decir
si tienes php
y entonces aquí
lo que decíamos
es php
else if
todo junto
porque no se puede utilizar
entonces ya
es separado
dos puntos
y aquí lo tendríamos
como el else
dos puntos
y tendríamos
que terminar aquí
con php
and if
y esto lo que nos permite
es en lugar de estar
tirando todo el rato
con el echo
el echo
ya podríamos poner aquí
cada una de las partes
dependiendo
de esas condiciones
fíjate
esto es lo que haríamos
si es total
si es total
y esto se lee
normalmente
como en un sistema
de plantillas
como mucho
mucho más fácil
porque aquí podrías tener
tanto html
como quieras
si necesites
o sea esto es un ejemplo
muy sencillo
que solo tenemos una línea
pero fijaos que aquí
podrías seguir
y seguir
y seguir
y poner todo el html
que necesites
de hecho esto es una cosa
que te puedes encontrar
pero el problema
es que aquí
no lo puedes separar
si lo separas
pum
pantallazo
parse error
mira parse error
es el error
más rata
asqueroso
deleznable
que te vas a encontrar
en php
y que te va a destruir
la vida
¿vale?
te va a destruir la vida
porque muchas veces
uno
te pega un pantallazo
en blanco
que te va a cegar
y por otro lado
te dice
no
un expected token if
claro

este es el error sencillo
pero os puedo asegurar
que el parse error
os va a perseguir
en vuestros sueños
en vuestras pesadillas
incluso cuando estéis despierto
porque muchas veces
os va a dar aquí
un syntax error
que no vais a saber
ni por dónde viene
¿ok?
pero bueno
en este caso ya
de hecho este error
lo he visto un montón de veces
también
de hacerlo separado
dicho esto
aquí
no sería lo mejor
a lo mejor
podríamos utilizar
más bien
pues una variable
ya estaría
de hecho
también tenemos
ternarias
como podéis imaginar
vamos a hacerlo
en este caso
output age
con una ternaria
vamos a decir
si eres viejo
¿vale?
pues vamos a hacer
la ternaria
eres viejo lo siento
y si no
eres joven felicidades
podemos hacer una ternaria
que si esto es true
pues pasaría
este valor
y si es false
pasaría este valor
y en output age
pues ya podremos
quitar todo esto
¿vale?
y vamos a decirle
output age
aquí lo ponemos
dentro del h2
y ya lo tendríamos
normalmente
siempre que podáis
yo recomendaría
intentar separar
al máximo
lo que va a renderizar
de la lógica
porque cuanto más mezcléis
lo que tenéis que renderizar
y tal
peor lo pasaréis
peor lo pasaréis
pero bueno
ya con esto
eres joven
felicidades
hay otras estructuras
de condicionales
y tal
pero
podría explicar el switch
pero es que el switch
está en todos los sitios
el switch
lo habrás visto
en javascript
lo habrás visto
en todos los sitios
está el switch
pero no en todos los sitios
está el match
que es
mejor
superior
más bonito
más joven
más hermoso
más de todo
que switch
entonces
en lugar de explicarte
switch
que seguro
que ya lo sabes
y que te cansa
te voy a explicar
el match
que me parece
chef kiss
así que
y además vas a ver
que tiene cositas muy chulas
vamos a ver
vamos a utilizar
match
lo vamos a hacer
con el output age
porque claro
con la ternaria
digamos que hemos perdido
información
ahora otra vez
eres viejo
lo siento
eres joven
felicidades
y yo quiero ir más
al detalle
yo quiero
que según la edad
que tenga
y no quiero ponerme
aquí a poner
if 1, 2, 3
no sé qué
no
quiero
que según la edad
que tenga
quiero mostrarle
una información
precisa
al usuario
pues vamos a utilizar
match
y le vamos a pasar aquí
básicamente
la edad
directamente
no el is old
ya no necesitamos esto
esto aburre
fíjate
que una cosa interesante
del match
que ojalá llegase algún día
a javascript
es que directamente
puedes hacerlo
como una asignación
a una variable
o sea le estamos diciendo
que lo que va a ocurrir
aquí dentro
va a devolver un valor
y ese valor
quiero que lo guardes
en una variable
es una forma
de hacer pattern matching
en el que
el valor que se genera
dentro de las condiciones
es el que pasa
estar dentro de la variable
y aquí le vamos a decir
cuando la edad
sea 0
1
o 2
le vamos a decir
eres un bebé
y le vamos a poner
el nombre encima
para que se sienta bien
vale
y le ponemos un baby
le vamos a decir
cuando es el 3
el 4
el 5
el 6
el 10
vale
es un niño
cuando es el 11
12
eres un adolescente
ya sé lo que estás pensando
ya lo sé
ya lo sé
si es que lo sé
y tienes razón
tienes razón
estás pensando
hombre midu
pero no me voy a poner
a poner cada uno
de los números
ahí a mano
no tiene sentido
que ponga cada uno
de los números a mano
tienes razón
pero primero vamos a ver
si esto funciona
y luego vamos a ver
cómo lo arreglamos
fíjate
eres un adolescente
Miguel
¿sí?
de verdad

porque tengo 18
si le digo que tengo 0
fíjate que me dice
eres un bebé
lo que está pasando aquí
lo que está haciendo
es que el match
dice
lo que te vas
vas a recibir por aquí
este parámetro
quiero que me lo compares
con cada uno
de los valores
que hay aquí
si el valor de age
matchea
con el valor
que hay aquí
por ejemplo
con 0
con 1
o con 2
entonces
el valor de la variable
output age
va a ser este de aquí
esto es una maravilla
pero es verdad
y tienes toda la razón
del mundo
que una vez
que hemos puesto aquí
tantos años
es bastante jodido
es una mierda
o sea
tienes toda la razón
va a ser como muy rollo
aquí ¿no?
porque al final
con otra cosa mejor
lo hubiéramos hecho
mucho mejor
con un if y tal
pero
aunque es muy sencillo
de entender
todavía lo podríamos hacer
un poquito mejor
lo que podríamos hacer
es evaluar expresiones
para eso
la expresión
que vamos a machear
y esto es muy parecido
a una estrategia
que se utiliza
con switch
es que le vamos a decir
aquí le vamos a pasar
el true
y así
lo que vamos a evaluar
no va a ser
el número
sino que le vamos a decir
por ejemplo
aquí le vamos a decir
oye
si la edad
es menor a 2
entonces eres un bebé
aquí le vamos a decir
vale
pues si la edad
es menor a 10
y lo bueno
es que como va a ir
de arriba a abajo
a la primera que entre
ya lo tendría
o sea que aquí tampoco
te tendrías que preocupar
si realmente va a ser mayor
o sea va a ser
va a ser 1
va a ser 1
o sea es claro
o sea si va a ser 1
va a entrar en esta
¿sabes?
ya no vas a tener problema
de preocuparte aquí
ya va a ser excluyente
porque solo va a entrar una vez
y aquí podríamos seguir
un poquito así
incluso podríamos ir más allá
¿eh?
y decirle
mira vamos a quitar el 18
y vamos a decirle
mira si la edad
es menor a 18
pero vamos a decirle
que si la edad
es exactamente 18
eres mayor de edad
¿vale?
eres mayor de edad
mayor de edad
vamos a decirle
que ya puede votar
por ejemplo
bueno vamos a decirle
que puede beber cerveza
y aquí pues podríamos
hacer un poco lo mismo
si ya es mayor de 40
eres un adulto joven
y ya si eres mayor
o igual de 40
eres un adulto viejo
¿vale?
y si no estás
estás
estás
estás casi
casi ya
hueles más
a madera
que a fruta
es bastante triste
esta frase
pero es así
entonces
entonces
lo que estamos haciendo aquí
es que
lo que va a comparar
es si este true
ocurre aquí
esta expresión
evalúa true
si es así
vamos a darle este valor
y lo bueno de esto
es que ahora
eres un bebé
Miguel
porque he puesto 0
pero si le ponemos 3
eres un niño
si le pongo por ejemplo
aquí 18
podemos decir
que eres mayor de edad
justamente porque ha entrado
en este caso
y podríamos decirle
que si tenemos
40 y 48
pues ya
bueno 48
ah porque he puesto mayor
claro es que ya he puesto mayor
tendríamos que poner menor
vamos a poner menor de 60
¿vale?
menor de 60
es adulto viejo
y si le ponemos 78
huele más a madera
que a fruta
¿vale?
bastante duro
pero bueno
eres muy malo
lo siento
si yo me estoy acercando ahí
yo me estoy acercando ahí
poco a poco
o sea que las cosas como son
entonces
pero con if y else
no se puede hacer lo mismo
claro
se podría hacer lo mismo
pero escríbelo
escríbelo
a ver que
cómo sale esto
porque te puedo asegurar
que te va a salir
mucho más código
va a ser
mucho más difícil de entender
mucho más difícil de leer
y de mantener
lo bueno que tienes del match
es que
tiene mínimo código
fácil de entender
muy
además que cuando lo
lo pones todo ahí
que este
que esto muchas veces lo he visto
queda muy muy muy bonito
muy bonito
y se entiende
súper fácil
tienes ahí los casos
listados
lo que devuelve cada uno
es mucho mucho más fácil de entender
a ver
es opción
o sea
al final es subjetivo
si no te gusta
tampoco pasa nada
o sea
puedes seguir utilizando el if
no desaparece
ni mucho menos
ahora
para poder hacer nuestra primera práctica
vamos a terminar con una estructura de datos
todo el tema de tipo de datos
ya tenemos aquí a output age
pues vamos a hablar también
de los arrays
fijaos
vamos a tener aquí los best languages
y los arrays
por suerte o no
se pueden crear de diferentes formas
podríamos utilizar array
a mí personalmente
aunque hay gente que le gusta el array
a mí me gusta utilizar
como siempre
¿vale?
utilizando así
¿vale?
esto hay que poner un punto y coma
que si no me gusta
el que ya es conocido
que es utilizando los corchetes
o como sea que le llamáis en vuestro lugar
podéis guardar cadenas de texto
podéis guardar otros tipos de datos
obviamente
también
podéis mezclar
hay algunos lenguajes
que no te permiten mezclar
en este caso sí
además también los arrays
pueden crecer
de forma dinámica
por ejemplo
si queréis meter uno nuevo
como Java
lo hacéis así
no hay que utilizar ni siquiera un método
lo que podéis hacer es
best languages
le hacéis como que
vais a acceder
a ninguna posición
no le pasáis ninguna posición
y esto lo que va a hacer
es que directamente
lo va a poner al final
¿vale?
automáticamente va a hacer
el array que sea más grande
y lo va a poner
y lo va a colocar al final
¿vale?
no tenéis que saber
cuál es el último índice
ni nada
si le ponéis directamente el índice
si por ejemplo
pues quitáis aquí
y vais a poner
a ver
0, 1, 2, 3
¿vale?
pues aquí lo que hará
es que en lugar de poner
el número 1
que habíamos puesto aquí
¿vale?
en lugar de poner este número 1
en esa posición
va a poner Java
para que veamos aquí
un ejemplo
para acceder a una posición
también
vamos a ver
sería así
best languages
en la posición 0
y ya estaría
aquí nos debería aparecer
PHP
el mejor lenguaje
es PHP
nos debería aparecer
¿vale?
el mejor lenguaje es PHP
si accedemos a la posición
0, 1, 2, 3
que aquí teníamos el 1
nos debería aparecer
Java
porque lo hemos reasignado aquí
¿vale?
¿ves?
Java
y si es la posición 5
debería ser TypeScript
porque en la posición 4
teníamos este 2
que no lo hemos sobre escrito
y en la posición 5
hemos añadido TypeScript
así que ahí lo tendríamos
TypeScript
esta sería la forma más fácil
de trabajar con arrays
podríamos también
pues ver su longitud
con un método
y todo esto
esto lo veremos más adelante
cuando hagamos otras prácticas
pero lo más importante
interesante que necesitamos
de los arrays
es iterarlos
así que
en lugar de esto
que habíamos hecho aquí
lo que podéis hacer
es tener una lista
y en la lista
como un sistema de plantillas
podemos hacer
forEach
la forma de iterar
los arrays
es con forEach
y fíjate
de nuevo aquí
estos dos puntos
que nos van a servir
para mezclar aquí
en forEach
¿vale?
con este punto y coma
y ahora aquí en medio
ya podemos hacer
lo que queramos
aquí lo que tenemos que decir
en el forEach
es que vamos a iterar
el best of languages
y cada uno de los elementos
vamos a tratarlo
como un language
y ahora aquí ya adentro
podemos hacer lo que queramos
con él
cada lib
pues vamos a mostrar
el language
y ya está
esta lista
si lo ponemos aquí
ya tenemos Python
JavaScript
PHP
JavaScript
Python
Java 2
y TypeScript
vamos a quitar estos números
que no tienen mucho sentido
vamos a poner estos dos aquí
y así ya aparecerán
estos de aquí
una cosa interesante
que no te he comentado
es el nombre de PHP
¿qué significa PHP?
a ver
PHP
son obviamente
unas siglas
pero
antiguamente
significaban una cosa
que era
personal
homepage
eso era lo que significaba
al principio
y hoy en día
significa
PHP
Hypertext
Processor
o sea
que es un loop infinito
porque la primera
P de PHP
significa PHP
por lo tanto
cada vez que vayas a ver
qué significa la P
es PHP
y así estarías hasta infinito
es algo interesante
que sea recursivo
pero eso eso
PHP
Hypertext
Preprocessor
¿vale?
es como la sigla de NU
exacto
efectivamente
¿Midu te gusta
personal homepage?
no
parece muy antigua
personal homepage
suena muy antiguo
muy muy antiguo
así que no
yo creo que
que no
yo creo que tiene mejor nombre ahora
y más gracias
ya sabemos
todo el tema de los arrays
bueno
nos faltaría el índice
para sacar el índice
podemos aquí
poner key
y un arrow function
bueno no es un arrow function
es una arrow
y ya está
pero sería el simbolito
de la arrow function
de javascript
pues en este caso
lo que estamos haciendo aquí
es una flechita
y le indicamos
queremos sacar
de language
queremos sacar
el índice
así que ahora ya tendríamos
aquí el índice
y podríamos utilizarlo
como queramos
aquí por ejemplo
podríamos poner
que nos concatene
el índice
lo pongo al principio
¿ves?
0, 1, 2, 3, 4
typescript
pero los arrays
tienen otra cosa
y es que los arrays
no son solo
en PHP
para tener elementos
uno detrás de otro
y ya está
hola Midu
y existe algo como un slint
pero para PHP
justamente ahora mismo
estamos utilizando
algo parecido
si te fijas
mira fíjate que
si pongo
bueno si pongo dos
no se la come
pero si lo quito
si que se queja
todo esto que veis aquí
¿ves?
es del intelifense
si que hay herramientas
si que hay herramientas
que lo que te van a hacer
es mirar el código
de que te quite
ni tal
o que te
o te lo
te lo formate
por ejemplo
los
aquí
si le pones
una tabulación
y guardo
ves que también
me lo está arreglando
o sea que
también lo tenéis
tenéis
creo que
incluso Laravel
tiene uno que sea
print o printer
tienes intelifense
este que tenemos
estamos utilizando
de PHP
este
creo que
también tenemos
PHP actor
también
o sea que tiene
subdiferentes
tanto para hacer
para que te complete
el código
como que también
para que te lo formate
así que
incluso hay algunos
que te hacen
refactos automáticos
que si ven
que por lo que sea
te sobra algo
que se puede hacer
mucho más corto
también te lo hacen
que también está
en javascript
así que sí
sí que hay herramientas
de ese tipo
casi todos los lenguajes
tienen este tipo de cosas
así que es cuestión
de buscarlos
¿vale?
y PHP Stone
por ejemplo
tiene un formateador
muy bueno
Visual Studio Code
también tiene un formateador
por defecto
pero no es tan bueno
el de PHP Storm
es bastante más avanzado
no sé qué es lo que utiliza
internamente
pero te arregla
bastantes problemas
y también te los indica
bastante mejor
lo malo es eso
que era
es de pago
¿vale?
entonces tema arrays
en los arrays
no sólo podemos crear
este tipo de arrays
sino que
que son arrays
con índices
sino que también
podemos crear arrays
pero no con índices numéricos
sino que se acceden
con una clave
que es una cadena de texto
que conceptualmente
te podría servir
como para crear
un diccionario
que si vienes
de JavaScript
sería algo similar
a un objeto
y digo similar
porque realmente
la estructura
no es exactamente
la misma
sería más un map
¿vale?
que no un objeto
para que lo tengas claro
sería más un map
pero lo que sí que puedes hacer
es que un array
se puede ser
se le llaman arrays
asociativos
donde cada índice
en realidad
sea una cadena de texto
y que por lo tanto
puedas crear
como algo parecido
a un objeto
que sería
más bien un map
por ejemplo este
joder que rápido
que JackoPaylon
me está leyendo
ves
podrías tener una persona
y creando un array
le podrías decir
que el índice
de este array
sea la key
sea name
y el valor
sea miguel
fíjate que estamos
utilizando otra vez
esta flechita
que hemos utilizado
justamente aquí
y así estamos
como estamos creando
este enlace
donde le estamos diciendo
cuál es la llave
y cuál es el valor
en este caso
sería lo más similar
sería un diccionario
en languages
también tendríamos
un array
y el cómo acceder
a cada uno
de esto
además que también
lo podéis mutar
obviamente
podéis cambiarle
al name
le podríais decir
vale pues el name
ahora vamos a poner
que sea
feralp
vale pues esto
es totalmente válido
y también pues
también podríais
cambiar este array
que tenemos por aquí
para añadir uno más
o sea ya una vez
que podéis acceder
utilizando la cadena
de texto
podéis modificar el array
como os dé la gana
vale
así que con esto
ya sabríamos
un poco
todo lo principal
o más importante
de la sintaxis
que vamos a necesitar
ahora
para la mini práctica
que vamos a hacer
vale
vamos a crear un proyecto
que vamos a desplegar
a producción y todo
y lo vamos a hacer gratis
y en un momentito
que nos va a decir
él
la próxima
la próxima
película
de Marvel
hay un proyecto
interesante
que básicamente
tiene una API
que te dice
la próxima película
de Marvel
y parece mentira
pero bueno
ahí está
con visitas
la próxima película
de Marvel
y ahora te dice
Deadpool
se lanzará
dentro de 112 días
vale
y te parece aquí
el título
y todo esto
vale
pues vamos a utilizar
este proyecto
pero claro
para poder utilizar
y para poder hacer
este proyecto
necesitamos llamar
a la API
que es esta de aquí
así que lo primero
que vas a aprender
y lo más importante
y algo muy básico
en PHP
es ver
cómo se hace
una llamada
a una API
llamadas a API
en PHP
se puede hacer
de muchas formas
especialmente
si hablamos
de dependencias
pero
la forma
más básica
más cercana
al lenguaje
de PHP
es utilizando
curl
curl
que en realidad
es un comando
que muchas veces
ya tenemos
y utilizamos
en nuestra terminal
¿vale?
sería la forma
más más básica
de hacerlo
si vamos aquí
a ver
me voy a copiar
la URL
de la API
y hacemos así
¿vale?
hacemos curl
y fijaos
que tenemos esto
bueno pues
este comando
curl
es el que utilizaríamos
en PHP
sin instalar
ninguna dependencia
ni hacer absolutamente nada
para utilizarlo
lo primero que vamos a hacer
es inicializarlo
y voy a aprovechar
para también explicarte
cómo se hacen comentarios
en PHP
y así te voy a explicar
cada uno de los pasos
primero vamos a inicializar
una nueva sesión
de curl
¿vale?
y vamos a llamarle
ch
que significa
curl handle
así que hacemos
ch
curl init
y aquí que vamos a utilizar
la API URL
como la API URL
va a ser una constante
vamos a poner API URL
y creamos aquí la constante
y nos quedamos aquí
con esta URL
¿vale?
entonces ya creamos aquí
una sesión
de curl
ahora que tenemos que decir
y otra forma de hacer
comentarios
esta sería una forma
de hacer comentarios
de una línea
también otra forma
muy típica
vamos a iniciar
vamos a indicar
que queremos
recibir
el resultado
de la petición
y no mostrarla
en pantalla
¿vale?
porque PHP
es un poco troll
y lo que puede hacerte
si no se lo dices
es que te muestre
el resultado en pantalla
y no lo queremos
¿vale?
es como que te hace
ahí directamente
un eco
no quiero que me hagas un eco
así que le decimos
vale
oye quiero que
CH
que es el curl handle
que nosotros tenemos
queremos
que me devuelvas
el resultado
me lo quiero quedar yo
ahora
otra forma de hacer
pues queremos
ejecutar
la petición
otros comentarios
el típico
este encima
puede ser
multilínea
como un montón
de lenguajes
y guardamos
el resultado
¿vale?
pues lo que vamos a hacer
aquí es guardar
el resultado
el resultado
de curl exec
y ejecutamos
el curl handle
¿vale?
obviamente
ya os digo
hay dependencias
que te facilitan
este trabajo
mucho más
lo digo porque
ahora mismo
estarás pensando
madre mía
cuánta información
o cuántas cosas
está haciendo
y bueno
pues no te preocupes
porque esto es muy a bajo nivel
pero es como la forma
más básica
que tienes en php
de hacerlo
esto lo puedes
al final
envolver en una función
lo puedes tener fuera
y tal
aquí podríamos obtener
el código http
para ver
si tiene un error
400
o lo que sea
nos lo vamos a saltar
y directamente
vamos a buscar
los datos
tenemos que transformar
el JSON
del resultado
el resultado
¿vale?
y vamos a decirlo
que fijaos
que la segunda
es que nos lo ponga
en un array asociativo
esto nos va a servir
para que
en lugar de tenerlo
ahí en una cadena
de texto
como si nada
realmente nos lo ponga
en un array asociativo
y poder acceder
a toda la información
mucho más fácil
¿vale?
así que decimos
que una vez
que tengamos el resultado
nos lo transforme
y ya lo tengamos
¿vale?
y ahora con este data
antes de nada
vamos a cerrar
esta conexión de curl
porque una cosa
que muchas veces
tiene php
es que deja
cosas abiertas
y tal
y lo vamos a evitar
y vamos a hacer
un bar dump
para ver
que tiene
nuestra data
no el ch
la data
¿vale?
vamos a ver
esta es nuestra
primera petición
a una API
vamos a ver
si esto ha funcionado
¿vale?
pues ya tenemos aquí
nuestra petición
con todos los datos
y ya está
así que
fíjate
que es lo que tendríamos
aquí en esta API
pero ya en un array
asociativo
de php
no hemos tenido
que hacer absolutamente
nada
ya nos lo ha creado
de una
¿vale?
voy a utilizar
para que los estilos
se vean un poquito
mínimamente bien
voy a utilizar
pico css
pico css
es un framework css
sin clases
que solo te va a estilar
directamente
el html
en realidad
si que tiene clases
pero tiene una versión
que es esta
la classless version
que es la que a mi me gusta
que la voy a usar
aquí
con el cdn este
con el viewport centrado
¿vale?
y lo único que tenemos que hacer
como podemos poner aquí
html
pues por ejemplo
podemos poner aquí
el head
podemos poner el title
title
la próxima película
de marvel
¿vale?
y vamos a poner aquí
este link
aquí puedes poner ya
todo lo que quieras
del meta
puedes poner el meta
chart set
obviamente este es bastante importante
aunque en este ya lo necesitamos
la próxima película de marvel
lo del viewport
todo esto lo podríamos hacer aquí
porque no deja de ser
html
que lo está devolviendo
y luego aquí
pues podríamos empezar
a estilar esto
vamos a poner aquí
un section
un section
section
vamos a quitar este
bueno
más que quitar
lo vamos a poner aquí dentro
y vamos a poner
este section
vamos a poner aquí
la imagen
que nos llega
la imagen que nos llega
si miramos aquí
si buscamos
aquí había un poster
¿ves?
poster url
con el string
vale
pues este poster url
lo debemos tener
en el data
fíjate en una cosa
que esto es bastante interesante
si muchas veces
por eso hay gente
que le cuesta la sincronía
y es que aquí
no hay ningún tipo
de problema
con la sincronía
¿qué está pasando aquí?
bueno
lo que está pasando
realmente
es que la sincronía
la está tratando
como si fuese
síncrona
o sea
lo que está haciendo aquí
con el código
es que
está haciendo este curve
y hasta que esto no se resuelva
no va a seguir ejecutando
para abajo
por lo tanto
no está ejecutando código
mientras está resolviendo
esta petición
hay formas de trabajar
con asincronía
callbacks
en php
que seguramente
veremos más adelante
pero que tengáis en cuenta
aquí en este caso
que muchas veces
se puede trabajar
con asincronía
pero hay veces
que te puedes encontrar
este código
que lo hace
como si fuese
totalmente normal
también otra forma
que tenemos
si por lo que sea
si simplemente
podéis
queréis hacer esto
otra alternativa
una alternativa
sería utilizar
directamente
file
get contents
es una forma
de directamente
llamar a la API
a hacer un get
y quedarte con el JSON
es verdad que esto
funciona o funciona
no hay ningún tipo
de problema
ya tendrías ahí
el resultado
de una
mucho más fácil
pero
quería enseñarte
la de curve
porque además
de que te permite
hacer get
post
put
y todo lo que quieras
ver mucho más fácil
también
los status code
si lo necesitas
o lo que sea
pues que tengas en cuenta
que la más fácil
si solo quieres
hacer un get
de una API
tendrías esta
file get contents
y ya lo tendrías
así que te la voy a dejar
ahí en un comentario
para que no te lo pierdas
pero bueno
para que lo sepas
entonces
ya tendríamos
voy a hacer esto
que he visto
como lo habéis puesto
en el chat
lo voy a poner por ahora
en un pre
para que aparezca
bien
vamos a hacerlo así
y así aparecerá
como mejor
para que aparezca
a ver
la he liado
ya he tocado
con el bar dump
ay coño
ves
ves
vale
eso me pasa
por hacer esta cosa
style
vamos a poner font
size
10 pixels
para hacerlo mucho más pequeño
vale
y este pre
que lo estamos poniendo aquí
bueno
voy a hacerlo todavía
más pequeño
que tampoco es importante
y le vamos a poner
un overflow
scroll
y
vamos a ponerle
una altura máxima
y así ya lo tenemos así
vale
bueno
igual no tanto
hostia
espérate
aquí
y ya está
vale
y así tendremos ahí
la información
y la iremos viendo
vamos a empezar
con el
con esta imagen
que tenemos por aquí
pues aquí
fijaos que podéis utilizar
directamente esto
de data
pues tenemos el póster
URL
aquí podremos decirle
cuánto
cerramos aquí nuestra etiqueta
nuestra etiqueta
la cerramos
aquí
vale
y aquí tendríamos ya
decirle 300
alt
alt
y póster
de
y aquí otra vez
podríamos decirle
el póster de
y data title
vale
y ya tendríamos ahí
nuestra imagen
vale
la imagen
perfecto
podríamos mejorarla un poco
podríamos decirle
bueno
con un borde radius
o lo que sea
pero eso ya
os lo dejo
de hecho este
aquí es que se me ha escapado
que se me ha escapado aquí
ah
quien no he puesto
esto de aquí
vale
borde radio
16 píxeles
vale
ya tendríamos esto
vale
ahora más pequeño
perfecto
luego podríamos hacer
el nombre de la película
tenemos aquí el pre
el section
vamos a poner otro
o h group
donde tenemos
por un lado
el nombre de la película
data title
y por otro nombre
bueno
data title
podemos decirle
se estrena
en
y podemos decirle aquí
cuántos días se estrena
vale
data
days
útil
por lo que he visto
era esto
pues ya lo tendríamos
se estrena en 12
bueno
vamos a poner un h3
y aquí vamos a poner
una p
fecha de estreno
y
release date
no se sea release date
vamos a poner por aquí
mira
fecha de estreno
tal
y no se que más
ponía aquí
esta gente
en su página web
vamos a verlo
que más ponía
nada
release date
production tube
bueno
eso no tiene mucha historia
sí que pone que cuál es la siguiente
no bueno
pues vamos a ponerle
cuál es la siguiente
vamos a cerrar aquí
h group
vamos a poner otra
la siguiente es
y vamos a poner
la siguiente peli
que según esto
está un array
dentro de otra array
title
vamos a poner aquí
barra api
y ahora lo desplegamos
following production
vale
following production
y aquí
title
vale
y la siguiente es
vale
pues con esto
ya podemos quitar esto
que no necesitamos más
ya podríamos quitar esto
esto por aquí
y ya tendríamos aquí
nuestro pequeño proyecto
que además está haciendo
una llamada a una api
vale
la próxima película de marvel
y aquí nos dice
que la próxima película
es de wolverine
que se estrena
en 112
días
vale
importante
poner los días
y ya lo tendríamos
fecha de estreno
es muy parecida
a la página que tienen ellos
solo que es nuestra
ahora que ya tenemos esto
vamos a desplegar la producción
porque como se puede
centrarlo que me da ansiedad
venga
vamos a centrarlo
vamos a centrarlo
que hay gente que da ansiedad
si no se centra
hay que ver
hay que ver
a ver
vamos a poner
image
no se si poner
margin 0 auto
y
section
vamos a poner section
display flex
justify content
center
y el h group
display flex
flex direction
column
justify content center
vale
hostia
vale
hostia
ah
claro
porque entra en conflicto
con lo que ya está
entra en conflicto
con lo
seguramente
con las
con los estilos
del css
que debe tener ya
bueno
pues lo dejo así
más o menos
vale
ya lo tendrías ahí centrado
que bueno
a ver
no se rompe
o sea
que lo hemos hecho
en un momento
bueno
pues una vez que ya tenemos
todo esto
como lo podemos
desplegar
lo podemos desplegar
de diferentes formas
y con docker
sería increíblemente fácil
vale
sería muy muy muy fácil
entonces
lo interesante de esto
es que
aparte de
de hacerlo con docker
que podría ser muy complicado
vamos a crear un proyecto
en github
un repositorio
vamos a poner aquí
new
vamos a poner aquí
curso php
curso php
curso de php
desde cero
y vamos a
crear el repositorio
a futuro vamos a ver docker
a futuro vamos a ver docker
y si os gusta
haremos incluso
curso de laravel
o sea que
curso de laravel
y ahí sí que veremos
seguramente docker
porque hay unas cuantas cosas
soy la única persona
que se le hace súper raro
leer las propiedades
de un array asociativo
¿por qué?
pero si está guay
me encanta
a mí el array
bueno aquí no
pero
no sé
una vez que te acostumbras
yo creo que está
está súper bonito
vale
vale
tenemos dos archivos
vamos a
add new files
vale
lo pusheamos
y tenemos aquí los ficheros
una forma para desplegar
un proyecto de php
fácil
rápido
barato
barato porque son cero euros
es utilizar
c-bar
no me sponsorizan
no me patrocinan
no me pagan dinero
no he hablado con ellos nunca
ojalá
vale
ojalá
¿por qué?
porque está bastante bien
y de precio
fijaos que tiene también
que es raro
una capa gratuita
y que además
pues no está
o sea
sí que obviamente
tiene límites
la capa gratuita
pero que está bastante bien
eso ya os digo
es una empresa china
si no me equivoco
si no me equivoco
ahora no la quiero liar
pero creo que es una empresa china
pero que
para hacer despliegues
de proyectos que tengáis por ahí
que sean pequeñitos
y tal
pues está bastante
bastante bien
a ver
about
¿ves?
yuan lin lin
creo que sí que son chinos
creo que sí
voy a verlo
vamos a ver
¿de dónde es yuan lin?
yuan lin
está bien porque yuan lin
ah es de taiwán
bueno
son de taiwán
vale
pues son de taiwán
pero está muy bien
porque sin necesidad
de configurar absolutamente nada
ya sea un proyecto de van
de php
de un montón de cosas
vais a poder utilizarlo
y os lo va a desplegar
en un momento
yo ya tengo aquí una cuenta
que la he utilizado
un montón de veces
para hacer pequeños despliegues
podéis elegir incluso
la zona
voy a añadir el servicio
y le vamos a decir
que quiero un proyecto
de git
le dais
bueno
no sé si necesitáis configurar
mira curso php
ya me sale el último
curso de php
vale
y aquí
sin configurar
absolutamente nada
que esto es lo que más
me gusta de cibar
es que
no configuran nada
te detecta
que lenguaje
estás utilizando
te lo detecta todo
los puertos y tal
y
ya te está haciendo aquí
ves
ya está haciendo ahí
php 8
php 8
y en muy
muy poco tiempo
vais a ver
que encima te genera
la url
le podéis poner variables
si queréis
tenéis métricas
de uso
networking
si lo queréis eliminar
para que te genere
el dominio
vale
mira building
a ver
y ahora en un momento
lo estará
tremenda UI
la verdad que es diferente
la UI
la UI es diferente
y es un proyecto
que no utiliza
o no habla mucha gente
y que está bastante bien
ahora
si os fijáis
de hecho utiliza Docker
en realidad
no sé si utiliza
bueno si esto es Docker
esto es Docker
por ahí he visto Docker
por ahí he visto Docker
mirad
ha tardado
no sé
un minuto
vale
y ya aquí
me ha generado
como una url
interna
vale
esta url interna
si intentáis entrar
pues vais a ver
que no funciona
o sea esta url
no funciona
no la podéis utilizar
pero podéis decirle
generar domain
y aquí ponéis
midu php
por ejemplo
y con esto le dais
a create domain
y ya os va a generar
un dominio
que ahora sí
si todo ha ido bien
ya tenéis el proyecto
desplegado
y cualquier persona
lo puede utilizar
vale
o sea ya veis
que en un momentito
podéis desplegar
un proyecto de php
sin Dockerfile
sin configuración
ni nada
cuanto más se complique
ya puede llegar
un momento
que sí que necesite
más configuración
pero para proyectos
que pueden ser
de una línea
o muchas más
pues ya veis
que funciona
y que no hay ningún tipo
de problema
y cada vez ahora
que hagáis cambios
en el proyecto
y lo despleguéis aquí
vais a ver
que se va a desplegar
porque fijaos aquí
que estés access
lo tenéis aquí
si ahora hacemos
cualquier cambio
en el proyecto
y lo subimos
pues se desplegarán
los cambios
sin ningún tipo
de problema
lo cual está
súper bien
así que ya os digo
no está patrocinado
no está patrocinado
no está patrocinado
porque es que
cada vez que hablo
de un proyecto
que me gusta
la gente
y cuánto te pagan
cuánto te patrocinan
cuánto no sé qué
no sé cuánto
cuánto
que no me patrocinan
que ojalá
ojalá
si fuese por mí
ojalá me patrocinasen
hoy
sin ir más lejos
para que os hagáis
os hagáis una idea
hoy me ha escrito
un chico
que me dice
tu tu tu
tu diablo y tal
a ver si
a ver cuándo
ah no lo voy a encontrar
no lo voy a encontrar
bueno
es que hoy
hoy justamente
alguien me ha escrito
diciendo
cuánto dinero
te pagan
la gente
de Klaufler
por lo que has dicho
y digo
yo madre mía
macho
madre mía
a ver
lo tengo por aquí
después de centésima vez
que mencionaste
Klaufare
por eso no he encontrado
porque es Klaufare
por eso no lo he encontrado
porque es Klaufare
me paga Klaufare
amigos
ese sponsoring
centésima vez
o sea
si estoy hablando
que me he ahorrado
casi dos mil dólares
gracias
a Klaufare
¿qué quieres?
que evite su nombre
que en lugar de Klaufare
diga el que no debe ser nombrado
como si fuese Voldemort
o algo
o sea
es que
es una cosa loca
es una cosa loca
a ver si al final
voy a tener que pedir
permiso o perdón
cuando os explico
un producto
que estoy usando
es que no tiene sentido
pues eso
que Cibar
no me paga
ojalá me pagase
pero
creo que va muy bien
para este tipo de proyectos
y tiene una capa gratuita
si os ha gustado
el curso de PHP
me lo podéis hacer saber
por un montón de sitios
y volveremos
con el curso de PHP
espero que os haya gustado
porque claro
en dos horas
es imposible
hacer un curso completo
pero en la siguiente
podemos seguir
me gustaría expandir
en crear funciones
crear clases
y crear otro proyecto práctico
para que podáis poner más en práctica
temas de PHP
y así llegar el día
que podamos hablar
de algún framework
como puede ser
Laravel
que me puede parecer interesante
espero que os haya gustado
la introducción de PHP
quería hacer una introducción
un poco más distinta
tocando las cosas
yo creo que
que te pueden dar
un inicio
de PHP
y que luego además
sea práctico
para que veas
como puedes hacer
un mini proyecto rápidamente
y desplegarlo
con todo lo que hemos aprendido hoy
incluso haciéndolo de la API
ya sea con el
filegetcontents
que sea la forma más fácil
pero también para que vieses
esa forma más de bajo nivel
y que espero que os haya servido
muchas gracias amigos
muchas gracias por todos los corazones
muchas gracias por todas las suscripciones
muchas gracias a Wendolate
Draox
Madeval
por esas suscripciones
a Carlos García también
lo agradezco infinito
vuestro apoyo
vuestro cariño
y ItzCarlos también
ItzCarlos era
o ItzCarlos también
bueno pues muchas gracias
a todos los que os suscribís
por vuestro apoyo
nos lo agradezco infinito
Oscar Boca
a Jorge ADB
a Boro Fornes
muchas gracias a todos