Diseño y Desarrollo Web + IA
Creación de un Portafolio con API REST en PHP
Prepárate para construir una API REST desde cero y potenciar tu portafolio profesional.
Iniciar RecorridoIntroducción al Módulo
Bienvenido/a a este módulo práctico donde aprenderás a construir una API RESTful utilizando PHP. Esta habilidad es fundamental para el desarrollo web moderno, permitiendo que tus aplicaciones front-end se comuniquen con un servidor de forma estandarizada y eficiente. El proyecto final será una pieza clave para tu portafolio profesional.
Objetivos de Aprendizaje
-
Diseñar aplicaciones de tecnología web autónomas: Acorde a la estandarización W3C, utilizando lenguaje de programación web para dar soluciones innovadoras.
-
Desarrollar aplicaciones web socialmente responsables: Utilizando herramientas de programación y considerando requerimientos del cliente, estándares de calidad y normativa vigente.
-
Desarrollar soluciones informáticas con IA: Aplicando inteligencia artificial para enfrentar desafíos y desarrollar prácticas innovadoras, resguardando la ética profesional.
Transcripción del Video Principal
0:00 en este video Vamos a aprender a hacer un apir Rest para que empecemos a
crear una hoja de vida para que empecemos a
0:06 tener un portafolio eh para que nos podamos postular a una vacante de
empleo
0:11 listo pero antes de continuar quiero decirles algo Durante este video van
a
0:18 aparecer un bueno van a aparecer unas no va a aparecer una
0:23 imagencitas que tenemos acá esta imagencitas ocasiones en el video pero
0:30 ojo antes de continuar el reto de este video solamente
0:36 aplica eh para la celebración de los 10,000 seguidores O sea que si este
video lo vemos en 6 meses no vamos a
0:43 poder participar en ese en ese concurso listo entonces La idea es que
esa
0:48 imagencitas que ustedes están viendo allí al final de que se acabe el
video me indiquen en un comentario Cuántas
0:56 veces apareció las personas que respondan correct amente voy a hacer
1:01 entre todas esas personas voy a hacer el sorteo de un curso eh que ya
después van
1:06 a saber en el video que sigue les voy a comentar Quiénes son los creadores
de contenido que nos han compartido unos
1:12 cursos para la celebración de los 10,000 seguidores y no se desesperen no
solamente para las personas eh que me
1:20 dejen su respuesta sino que también en general o sea para tod entre todos
los comentarios también vamos a rifar un
1:27 cupón gratis para que puedan acceder a un curso o sea entre O sea hay dos
opciones entre todos los comentarios eh
1:34 se rifa un curso y entre los comentarios que respondan correctamente eh
la
1:40 pregunta de Cuántas veces aparece esta imagen en todo el video entre todos
ellos se va a rifar otro curso sin más
1:47 que hablar sin más que decir vamos a empezar bueno entonces lo primero que
vamos a hacer es lo siguiente yo les voy
1:55 a dejar este este repositorio se los les voy a dejar el link en la
descripción para que ustedes eh tengan acceso a él y
2:02 puedan hacer la práctica junto conmigo listo en este momento yo tengo
Solamente la rama Main No tengo más ramas creadas
2:09 y lo que voy a hacer de primero es voy a clonarme este proyecto voy a
copiarme la URL cierto voy a venir por acá voy a
2:18 abrir esta carpeta para esto Ustedes deben de tener instalado recuerde que
vamos a hacer un Back con php cierto
2:25 Entonces como vamos a hacer un Back con php deben de tener instalado bien
sea o un con tenedor un docker una imagen de
2:31 docker con con con php o en este caso que es lo más común eh deben de
tener
2:37 samp o wamp instalado en sus computadores Entonces yo lo que voy a hacer
es voy a venirme aquí a la carpeta
2:43 de samp aquí al ht docs sí voy a abrir una terminal voy a abrir acá
terminal y
2:49 le voy a decir bueno la terminal se acá la ot la otra ventana voy a darle
git
2:55 clone y pego la URL presiono enter y el en este momento lo que hace es
traerme
3:01 todos los archivos que tenemos en el repositorio perfecto si yo vengo y
miro por acá debe de estar Back crud Esa es
3:09 la prueba que nosotros vamos a hacer voy a abrir nuevamente por acá la
pestaña al navegador y ahora vamos a hacer algo Nos
3:16 vamos a venir como yo estoy corriendo el samp aquí en local sí voy a abrir
php my
3:24 admin voy a abrirlo para que ustedes vean las bases de datos que tengo y
me voy a crear una nueva base de datos esta
3:31 base de datos la voy a poner lo voy a poner por ejemplo voy a ponerle
escritores voy a
3:37 colocarle eh creo que es writers cierto vamos a ponerla bueno writers
escritores
3:44 eh lo voar así tal cual voy a dar crear y aquí ya tengo creada mi base de
datos
3:49 que se llama escritores listo Ahora me voy a venir a la carpeta nuevamente
voy
3:57 a ingresar aquí al proyecto que clonamos anteriormente voy a abrir esta
carpeta con mi visual
4:02 Studio code para eso Recuerden que abro la terminal y do escribo code
code
4:09 espacio punto doy enter cierro acá por acá ya me lo está
4:14 abriendo aquí ya lo abrió me lo traigo para este lado listo entonces aquí
ya tenemos el proyecto que está abierto en
4:22 nuestro visual Studio code Qué es lo primero que vamos a hacer ustedes se
van a unir acá en esta carpeta src Hay una
4:28 carpeta que se llama config y adentro hay un archivo que se llama
config.php en este caso eh Como estoy trabajando en
4:36 mi proyecto local Sí vamos a más adelante vamos a subir este proyecto a un
Hosting para que ustedes vean pues
4:42 como todo el proceso pero por el momento estoy tratando en local Host mi
usuario por defecto es Root y generalmente
4:50 nosotros eh dejamos una contraseña vacía y Recuerden que acabamos de crear
una
4:55 base de datos que se llama escritores listo eh Esto es lo que lo único
que
5:00 tienen que hacer si este proyecto estuviera en la nube pues ya hacemos una
configuración diferente porque pues hay que eh Llamar el el servidor de la base
5:07 de datos el usuario y demás eso lo vamos a ver más adelante por el momento
nos interesa tener esta parte listo Entonces
5:15 ya aquí estamos en este punto Ahora me voy a venir aquí donde dice Root
Bueno voy a venir aquí a este lado donde dice
5:22 voy a dar clic aquí donde dice public Y ustedes pueden ver que aquí tengo
una carpeta que se llama public y anexo a
5:27 eso tengo una carpeta que se llama crud yo aquí podría crear una carpeta
fácilmente que se llame por ejemplo
5:33 users cierto y allí yo puedo crear esta estos dos mismos archivos los
puedo
5:39 copiar y eh crear todo el sistema de rutas para eh este endpoint eh que
se
5:46 crearía Pues por aparte pero en estos momentos tenemos solamente el de
crud Sí vamos a vemos acá crud vemos que tiene
5:53 el Index vemos que tiene una estructura básica donde nos está diciendo e
eh se está llamando a la a a la conexión sí la
6:01 configuración de la base de datos eh se está haciendo la conexión Sí y por
acá
6:06 se está llamando a las rutas que si miramos dice src rutas crud php
entonces
6:12 si yo vengo acá mire está la carpeta src ahora estuvimos en config miren
que
6:18 acá tengo rutas y aquí ya dice crud php sí entonces aquí está por decirlo
así eh
6:25 toda la lógica que vamos a hacer durante este proyecto no va a ser una una
lógica muy extensa no soy muy O sea no soy muy
6:34 diestro en php pero les voy a dar algunas cositas O sea si hacen lo que yo
hago en este momento nos va a funcionar
6:40 todo listo Entonces lo primero que vamos a hacer es lo siguiente eh Ya
tenemos la configuración a la conexión a la base de
6:47 datos cierto ya vimos que acá el archivo de rutas nos está mandando a Cruz
php Sí
6:53 si quieres te lo dejo acá fijo Y acá es donde va a pasar por decirlo así
la magia listo lo primero que vamos a hacer
7:00 es lo siguiente vamos a estudiar un poco este archivo voy a cerrar acá y
vamos a
7:06 ver vamos a centrarnos primero en esta partecita aquí aquí está pasando
algo
7:11 interesante si ustedes ya tienen algo de conocimiento en php aquí lo que
estamos haciendo es definir el endpoint cierto
7:18 Cuál va a ser el pack de nuestro endpoint luego lo que estamos haciendo es
una consulta sql Sí una consulta
7:25 sencillita en donde estamos seleccionando todo de pedidos en donde
7:31 el estado del pedido sea igual a pendiente esto es my sequal básico No
no
7:36 vamos a entrar pues como a profundizar mucho hay un order cierto por acá
ya generamos la conexión y cuando ya
7:43 ejecutamos la conexión acá y le pasamos la consulta que necesitamos él nos
trae un resultado en donde ya aquí podemos
7:50 tener pues como tal el bueno Esto es para hacer un eso es una
7:58 funcioncumple días En donde lo que hago es simplemente Busco ese campo ID
y le
8:04 voy a decir que ese campo ID es un entero sí o sea esto acá nos puede lo
podemos comentar o lo puedo eliminar no
8:11 no lo necesitamos de momento cierto eh vamos a hacer algo voy a venirme
por acá
8:16 a la base de datos Aquí tengo writers cierto esa es nuestra base de datos
escritores y voy a crear una tabla s
8:24 para esa tabla voy a ponerle el mismo nombre writers cierto y le voy a
poner cuatro
8:31 columnas a ver necesitaría un ID único necesitaría un nombre del autor del
sí
8:39 del escritor necesitaríamos ponerle de pronto una fecha de nacimiento
cierto y
8:46 podríamos ponerle una descripción corta yo creo que con cuatro campos es
más que suficiente voy a darle clic aquí en
8:53 Go y ahora el primero va a ser el ID ID
8:59 voy a ponerle ID writer sí va a ser de
9:04 tipo entero va a ser autoincrementable aquí en este segundo vamos a
seleccionar un barchat y este va
9:11 a ser el name cierto vamos a ponerle name writer sí va a ser barchat Vamos
a
9:19 ponerle que el name va a tener no sé va a tener por ahí
9:24 eh 60 caracteres listo esto lo podemos dejar así bueno la vamos a acá que
nos
9:30 permita nulos sí que podamos guardar el nombre como nulo Aquí vamos a
ponerle una descripción si una
9:39 descripción puede ser una descripción o puede ser una la biografía bueno
no s alguna cosa que le querramos poner a
9:44 nuestro escritor a esta le podemos poner un poquitico más de tamaño lo voy
a poner 200 Así que lo permita nulo y por
9:52 ejemplo acá voy a poner eh Por
9:57 ejemplo cre create ad sí Cuándo se creó Vamos a ponerle este create ad le
vamos
10:04 a poner que es de tipo date y por default le vamos a decir que sea un
current Time stamp eh que bueno debería
10:13 quedar así pan y yo creo que así ya estaría nuestra tabla voy a darle
10:18 guardar Listo ya tenemos la tabla de nuestros escritores creada para
la
10:23 prueba que vamos a hacer ahora voy a abrir acá un insert y voy a poner
por ejemplo el nombre del escritor voy a
10:31 poner por ejemplo Gabriel
10:37 García Márquez cierto y esto lo va a poner un
10:43 escritor muy famoso colombiano
10:49 colombiano y diría mucha más información Recuerden que de acuerdo a la
estructura que hicimos ahora tenemos hasta 200
10:55 caracteres para poner acá vamos a seleccionar la fecha de cuando lo
creamos voy a poner esta fecha de hoy 25
11:02 tran voy a crear este escritor entonces si yo me vengo aquí a navegar
Aquí vemos
11:09 que ya tenemos un primer escritor en nuestro en nuestra base de datos
Ahora
11:14 yo voy a abrir por acá un programa que es muy interesante y es el
insomnia sí lo voy a
11:21 abrir por acá y en estea insomnia voy a crearme por acá un nuevo folder
Ay se me
11:26 cerró y voy a ponerle eh voy a ponerle a este
11:32 writers ser el la aplicación de
11:39 escritores listo por acá me quedó Dónde está aquí está voy a crear una un
primer request y
11:48 le vamos a poner get writers Okay le vamos a que es por
11:54 el método get le digo que bien y ahora voy a venir acá
12:00 y voy a hacer algo colocar local Host local Host y Recuerden que
nosotros
12:07 le pusimos a esto Esto se llama Back crud sea debería entrar
12:14 acá verifiquemos que podamos entrar acá est la ruta cierto B CR doy enter
ya
12:22 entramos ahora vamos a entrar a crc a rutas y a CR pero por este
12:31 lado a ver yo
12:36 veo dice que hay un problema en la línea número 6 de CR php verifiquemos
que
12:42 tenemos por acá mal puesto y nos dice que la p
12:48 sl entonces Ah bueno aquí si tengo un problema porque el problema va ser
la
12:53 ruta si yo escribí mal la ruta entonces voy a hacer esto voy a venir
acá
12:59 voy a venirme nuevamente acá me voy a devolver uno voy a devolver otro y
me
13:05 voy a meter por acá por a ver por acá voy a meter por public aquí en
public
13:11 voy a pegar esta URL voy a dar voy a abrar esto voy a
13:17 presionar enter ya Bueno aquí Me faltó algo me faltó algo acá y me voy a
meter
13:22 aquí a crud listo aquí ya me dice que page no Found y voy a borrar esto
listo
13:28 bueno Ahora nos está diciendo que writers pedidos no existen veamos acá
algo resulta que nosotros creamos una
13:35 tabla que se llama writers y en la consulta que nosotros tenemos acá
estamos diciendo Ey seleccione todo de
13:42 la tabla pedidos pero esta tabla no existe no le vamos a poner condición
no
13:48 le vamos a decir que donde esto sea atrás no podemos ponerle solamente
este order by descendiente eh Por ID sí
13:57 podemos guardar Y verifiquemos nuevamente eh aquí en nuestra web acá
14:06 plan y Aquí vemos que el ID order no existe si es correcto porque
nosotros
14:11 pusimos fue ID writers sí estamos diciendo que
14:17 organice que nos haga un order by no por ID sino por ID rers listo
guardamos Y en
14:24 este punto debería de estarnos funcionando actualizamos perfecto en
14:30 este punto ya tenemos un primer endpoint funcionando Cuál es el endpoint
que tenemos funcionando el el uint de
14:37 obtener información hasta este punto vamos muy bien yo abrí el insomnia
yo
14:43 Generalmente no pruebo mis end points por acá eso es una buena práctica
que yo Les recomiendo Y es que manejen puede
14:50 ser insomnia o puede ser postman cualquiera cierto Entonces vamos a pegar
esta misma URL vamos a ejecutar la
14:57 consulta y aquí nos sigue funcionando igual listo voy a cerrar el
navegador
15:02 Perfecto entonces ya está funcionando este este primer ya nos está
funcionando
15:08 ya nos está trayendo información ahora vamos a crear un
15:13 endpoint que sea un post listo entonces para esto Vamos a ponerle aquí
save
15:20 e save writer Okay este va a estar ya por no por
15:27 método get sino por método post vamos a dar crear Ya lo tenemos voy a
traerme
15:33 esta misma URL la voy a pegar acá de momento pero
15:38 acá vamos a hacer algo ya no lo voy a poner get sino que le vamos a poner
eh
15:44 Por ejemplo save Vamos a ponerle save no más cierto si yo ejecuto esto él
me dice
15:50 que la página no se encuentra Porque esa ruta no la hemos creado entonces
me vengo acá al archivo y aquí en ese punto
15:56 ya obtenemos todos los usuarios que tenemos en la base de datos ahora
vamos a guardar un usuario listo entonces para
16:03 eso voy a dejar aquí donde está nosotros pusimos acá el apis save cierto
Entonces
16:11 voy a traerme esto lo voy a poner acá esta Va a ser la
16:16 ruta apis save Sí esta Va a ser la ruta por la cual nosotros vamos a
guardar
16:23 información desde el postman en la base de datos ahora miren lo que les
está
16:28 explicando ahora tenemos lo mismo tenemos una instrucción sql acá qué le
estamos diciendo estamos diciendo e en
16:35 la tabla pedidos No no es en la tabla pedidos es en la tabla writers
vamos a
16:41 seleccionar vamos a pegar acá le estamos diendo en la tabla writers Sí
hay una
16:47 columna que se llama ID writer cierto Entonces esta está allá cierto si
yo me
16:53 vengo para la base de datos y miramos la estructura tenemos una que se
llama name
16:59 la voy a copiar Me la voy a traer y la voy a poner acá name writer y
miren que
17:06 acá abajo me señal algo listo voy a seleccionar ese abajo también y lo
voy a dejar ahí voy a ir a la base de datos y
17:13 voy a poner esta descripción listo perfecto vo a poner esta
17:19 descripción acá en ID pedido y acá description Bueno aquí hay
17:26 un problema Esta descripción vamos a tener que renombrar sí por qué vamos
a
17:32 hacerle un change vamos a hacer acá un change y vamos a ponerle writer
17:39 description writ a seleccionar esto de una vez para
17:45 llevarlo para allá para nuestro programa voy a guardar Listo Ya lo
tenemos y ya
17:50 les voy a explicar por qué hay que cambiar esto de acá porque resulta
que
17:56 descripción es una palabra reservada de php Entonces por de que cambiar
era esa
18:03 toda la respuesta y ahora tenemos un create sí tenemos un create y voy
a
18:11 poner ese create acá pego Esta última parte de acá no la
18:19 necesitamos Sí llegamos Solamente hasta el create ad Entonces esto de acá
no lo
18:26 necesitamos okay voy a guardar listo voy a volver al insomnia y
18:35 acá en el insomnia voy a hacer lo siguiente en esta parte donde dice Body
voy a poner que sea un Jason listo poner
18:42 un Jason voy a abrir y cerrar voy a poner estas comillas voy a poner
estas
18:48 de acá s son solo cuatro son tres datos creo Bueno son dos datos en
realidad los
18:57 que vamos a enviar Cuáles son el primer dato es este de acá el name writ
voy a
19:05 copiarlo bueno copiarlo Y para la insomnia y el
19:12 segundo dato es la descripción lo voy a copiar y la voy a
19:18 traer para acá y ahora en el name voy a colocar no
19:24 sé voy a poner por ejemplo Rafael pombo y aquí en la descripción
19:31 voy a colocar otro buen escritor voy a ejecutar a ver qué pasa
19:38 doy ejecutar y nos dice que el parámetro no es un
19:46 Ajá A ver dice que invalido parámetro number vamos a ver dónde es que
tuvimos
19:52 el error dice que writer writer
20:00 description cre ad ID puede ser nulo porque es
20:07 autoincrementable eh Se supone que vamos por este lado
20:14 okay Y voy a hacer algo voy a hacer [Música]
20:23 acá vamos a ver con este error Creo que este error bien ni acá voy a
ponerlo
20:31 acá vo a ponerle acá voy a mandar n porque aquí no lo estoy recibiendo
vamos a ver si es esto voy a mandar nul
20:38 también voy a guardar voy a abrir nuevamente la insomnia ejecuto Ahora
nos dice algo
20:45 diferente Okay nos dice que la sintaxis
20:51 TR en la línea dos que nos quedó nul
20:59 creo que debe ser esta coma voy a guardar nuevamente ejecutemos
21:05 y nos dice que la columna cre Bueno nos dice que no puede estar nula
cierto para
21:12 eso vamos a hacer algo voy aquí voy a modificar este porque aquí le
pusimos que fueran le dijimos que no nos
21:20 permitiera nulos vamos a permitir nulos cierto ahí ya vamos a
21:26 guardar y aquí nos dice status 200 y nos dice que la Data fue guardada
bueno
21:32 verifiquemos desde la insomnia para eso lo tenemos acá ya listo cierto
entonces siy enviar Aquí vemos que el create ad
21:39 nos quedó en nulo cierto se lo corregimos después se lo podemos enviar
desde el Front y aquí ya está Gabriel
21:46 García Márquez y Rafael pombo listo aquí estamos obteniendo la
información y aquí
21:52 estamos guardando mire que es muy sencillito o sea aquí les estoy dando
unos o sea unos muy sencillos para
22:00 guardar esta información cierto entonces aquí la podemos ver ya estamos
obteniendo todos los
22:07 escritores ya estamos guardando un escritor ahora vamos a actualizar
un
22:13 escritor listo para eso vamos a hacer acá vamos a colocar aquí Api y
vamos a
22:21 quitar esto y le vamos a hacer que haga un update cierto ent vamos a
empezar a copiarnos de acá información Cuál es la
22:27 tabla que vamos a actualizar pues va a ser la tabla writers cierto el
número de
22:33 la mesa ID pedido cierto entonces acá voy a traer este de
22:40 acá voy a poner acá selecciono acá voy a seleccionar
22:46 estos de abajo porque estos son los criterios con los cuales yo voy a
hacer la actualización o sea este es el la
22:53 condición para poder actualizar cierto qué vamos a actualizar vamos a
poder actualizar el el nombre del
23:00 escritor Sí vamos a actualizarlo y vamos a poder actualizar la
23:06 descripción lo voy a poner acá abajito también y vamos a poder actualizar
también la fecha de creación listo
23:13 entonces aquí selecciono este selecciono este y doy guardar observemos un
poco la
23:19 sintaxis sí estoy haciendo un update o sea yo no Les explico mucho esto
porque esto es base de datos básicamente y pues
23:25 no hay con mucho Lio pero sin embargo repaso aquí estoy diciendo vamos a
hacer un update a la tabla writers cierto
23:32 vamos a cambiar el nombre incluso podríamos hacerle como un orden a esto
vamos a copiar vamos a cortar esto y lo
23:38 vamos a poner acá arriba perfecto vamos a guardar y que Va
23:45 qué va a recibir él va a recibir el nombre va a recibir la descripción y
va a recibir una fecha de creación cierto
23:51 Cuál es el parámetro el criterio para que esta actualización se haga el
ID del
23:57 escritor listo y hace lo mismo él establece la conexión la ejecuta eh
con
24:03 los parámetros aquí al último tran la ejecuta obtiene un resultado y
ese
24:09 resultado es esto básicamente listo ahora vamos a duplicar este post
lo
24:15 vamos a duplicar y le vamos a poner que no va a ser save sino que va a
ser update writer
24:24 damos guardar mire que acá en el update nos dejó el méo post vamos a
poner que
24:29 va a ser un put va a ser un put sí eh este está diciendo que él Recibe
un
24:38 ID el ID es requerido entonces de acá vamos a llevarnos de la base de
datos a
24:45 mí me gusta Generalmente copiarlos de acá para no ir para no ir a tener
errores de typeof listo de escritura o
24:51 de alguna cosa entonces acá Ah me F pond no era Ven ahora para la
insomnia aquí V
24:58 a poner este de acá cierto y acá vamos yo voy a ejecutar este y voy a
25:06 actualizar esta fecha qué ID necesito necesito pasarle el dos entonces
acá en
25:12 el ID va a ser el id2 listo vamos bien qué
25:19 vamos a actualizar vamos a actualizar esta parte de acá el create ad lo
pegamos acá
25:28 sí lo pegamos Y cómo está la fecha dice que es año mes y día vamos a
ponerle Así
25:35 mismo Entonces vamos a poner acá en el update vamos a poner 2022 del 04
del día 25 listo vamos a
25:46 ejecutarlo Ah Bueno aquí nos falta cambiar el p listo nos falta cambiar
el eno porque en el L nosotros tenemos que
25:53 es update es update es update entonces
25:59 este save ya no va sino que va update listo verifiquemos guardemos y nos
dice
26:05 que hay tran Okay nos dice que a ver yo veo al copiar
26:13 esto dos veces más sí copiarlo Ah bueno puedo hacer una
26:21 cosa AC a traer esta información para hacer una prueba Esto es una prueba
que voy a hacer vo a copiar esto de acá y
26:28 voy a ponerlo acá perfecto listo voy a actual voy a dar
26:35 enviar y nos dice que hay un error vamos a verificar qué está pasando eh
estaba haciendo acá una prueba de que
26:43 esto no nos estaba funcionando cierto Entonces estamos revisando de Por
qué no
26:48 nos funcionaba sí resulta que el problema El problemita estaba acá en
26:54 este espacio si yo en este espacio doy ahora sí ahora si nos da un un
estatus 200 y si
27:01 yo vengo acá y act Ah bueno Yo aquí eliminé algo esp que es que voy a
crear
27:09 a Rafael pombo nuevamente lo creo vamos a obtener todos los vamos a
27:17 obtenerlos a todos dice que Rafael pombo es el número tres entonces aquí
vamos a actualizar ese número tres qué vamos a
27:25 actualizar de ese número tres que tiene una fecha nulo listo entonces
para eso
27:30 le ponemos le ponemos la fecha ya corregimos el problemita del error del
espacio perdón y vamos a dar enviar nos
27:38 dice que todo bien y ya vemos acá que tiene la fecha listo ahora lo que
vamos
27:44 a hacer es entrar al método delete listo para eso vo a venir nuevamente
acá y yo
27:52 acá tengo estamos trabajando acá en el update ahora voy a venirme y voy
a
27:58 coloca este acá delete Okay bueno el método ya no va a ser put sino
que
28:04 delete también delete y acá vamos a poner la sintaxis
28:10 para eliminar si ustedes no se acuerdan Cómo es la sintaxis Aquí vos a
Rafael pombo se
28:16 puede venir aquí a squal van a donde dice delete y aquí les da el la
sintaxis
28:21 la copian ahí les estoy dando truquitos Y en este punto vamos a pegar eso
que
28:28 nos trajimos de allá cierto y acá vamos a decirle dónde
28:33 [Música] esto sea igual a esto perfecto guardamos
28:40 tenemos delete delete listo Ahora nos vamos para la insomnia y acá en
el
28:45 insomnia este put lo vamos a duplicar listo y Aquí vamos a poner del
delete
28:54 Perfecto entonces de acá Solamente necesitamos el ID porque vamos a
eliminar por ID esto yo no lo recomiendo
29:02 mucho que lo hagan yo personalmente Prefiero hacer eliminados lógicos
no
29:08 hacer esta clase de eliminaciones porque pues se eliminó el usuario y
desapareció en la base de datos contrario que si uno
29:14 tiene por Ah una columna no sé de estado diga activo no es activo o
alguna cosa así uno simplemente cambia eso y en el
29:21 caso que vuelvan editar información de ese usuario pues ahí la tiene
listo entonces eh para este ejemplo yo lo voy
29:27 a dejar acá voy a cambiar acá put voy a ponerle delete y acá en el pat
también
29:32 vamos a poner delete vamos a ejecutar vamos a ver si es cierto nos dice
que status 200 si vengo y consulto mis
29:40 escritores perfecto ya no lo borra la base de datos verifiquemos que eso
sea cierto vengo acá le damos abandonar y
29:48 vemos que está efectivamente nos lo está eliminando vamos a hacer la
última
29:53 prueba vamos a generarlo otra vez la f pombos se crea consulto es el
número
29:59 cuatro sí lo voy a eliminar le voy a dar
30:05 cuatro me dice que bien vuelvo y consulto y efectivamente Entonces en
30:10 este punto ya tenemos post put delete y get ya tenemos crear actualizar
eliminar
30:19 Y obtener información de la base de datos con un Back muy sencillo hecho
en php como se los está enseñando acá sí
30:26 miren con estas pocas líneas pudimos crear eso ya tenemos este Back ahora
lo que vamos a hacer es integrar esta este
30:34 pequeño endpoint lo vamos a integrar a un Front listo esa va a ser una
segunda
30:41 parte de todo este de toda esta serie de videos que voy a hacer listo
luego de esto de que ya tengamos todo funcionando
30:47 les voy a enseñar con est pequeño sistema básico les voy a enseñar Cómo
subirlo a un Hosting para que ustedes
30:54 también tengan todo ese o sea Tengan toda esa práctica completa listo y
quien
30:59 quita que puedan desarrollar sus propios proyectos y puedan eh monetizar
alguno de sus proyectos Entonces como les decía
31:07 no soy muy experto en php les voy a dejar este este Script en de github
que
31:13 lo tengo en github se lo voy a para que ustedes lo descarguen bueno Esto
es un framework que se llama aplink es muy
31:20 sencillo de usar de aquí para allá se puede hacer cantidad de cosas
cantidad
31:25 de validaciones se le puede poner token bueno se puede crecer bastante
bien para una aplicación mediana mediana pequeña y
31:32 va a funcionar entonces Recuerden que si tienen dudas sugerencias
algún
31:37 comentario abajito en la caja de comentarios me lo pueden hacer saber eh
Y nada nos vemos en los siguientes
31:44 videos Espero que esta serie de de videos les guste y sea de mucha
ayuda
31:50 para que ustedes puedan crear ese portafolio puedan tener esa hoja de
vida para poder eh conseguir ese primer
31:57 empleo que t queremos Muchas gracias y nos vemos en una próxima
oportunidad
Activación de Conocimientos Previos
Antes de sumergirnos en el código, vamos a calentar motores. La siguiente actividad te ayudará a recordar conceptos clave de HTML y CSS que serán útiles para integrar nuestra API en un futuro.
Desarrollo: Construyendo la API REST con PHP
Ahora, profundizaremos en el corazón de nuestra estrategia: la construcción de la API. El siguiente video es la pieza central de este módulo. ¡Presta mucha atención! El video se pausará en momentos clave para que respondas algunas preguntas rápidas y consolides tu aprendizaje.
Evaluación Formativa
¡Pongamos a prueba lo aprendido hasta ahora! Esta actividad no tiene calificación, su objetivo es ayudarte a consolidar los conceptos sobre APIs y métodos HTTP. Completa el siguiente quiz interactivo.
Evaluación Final
Has llegado a la evaluación final. Demuestra todo lo que has aprendido sobre la construcción de APIs con PHP. Necesitas un 70% de respuestas correctas para aprobar. ¡Mucho éxito!
Síntesis: Ideas Clave
Repasemos los conceptos más importantes que hemos visto en este módulo.
-
Estructura de un CRUD: Una API REST se basa en las operaciones CRUD (Create, Read, Update, Delete), que se mapean a los métodos HTTP (POST, GET, PUT/PATCH, DELETE) para manipular recursos.
-
Conexión a Base de Datos: Es fundamental establecer una conexión segura y eficiente a la base de datos (como MySQL) desde PHP para persistir y recuperar la información.
-
Validación y Seguridad: Aunque básico, aprendimos a estructurar rutas y a pensar en la necesidad de validar los datos de entrada para prevenir errores e inyecciones SQL.
Podcast Relacionado
Para complementar tu aprendizaje, escucha este episodio de podcast sobre el futuro del desarrollo web y la inteligencia artificial.
Cierre y Reflexión
¡Felicitaciones por llegar al final! La reflexión es una parte crucial del aprendizaje. Tómate un momento para responder las siguientes preguntas. Tus respuestas se guardarán localmente para tu consulta.
¡Tus respuestas han sido guardadas en el navegador!
Rúbrica de Evaluación para Respuestas Abiertas
Esta rúbrica muestra cómo se podrían evaluar tus reflexiones, basada en los niveles de Aplicación y Análisis de la Taxonomía de Bloom.
| Criterio | Excelente (Análisis) | Bueno (Aplicación) | Satisfactorio (Comprensión) | Necesita Mejora |
|---|---|---|---|---|
| Profundidad de la Reflexión | Conecta los conceptos con experiencias previas, analiza críticamente los desafíos y propone soluciones o mejoras originales y detalladas. | Aplica los conceptos a situaciones prácticas específicas, describiendo un plan de acción claro para proyectos futuros. | Explica los conceptos con sus propias palabras y describe cómo se relacionan entre sí dentro del proyecto. | Las respuestas son vagas, incorrectas o no se relacionan con el contenido del módulo. |
| Aplicación Práctica y Visión a Futuro | Diseña un plan de aplicación específico, realista y bien estructurado, mencionando tecnologías y arquitecturas concretas para un proyecto personal. | Sugiere formas generales de aplicar los conceptos en un contexto práctico, pero con detalles limitados. | Menciona que los conceptos son aplicables, pero no detalla cómo o en qué tipo de proyecto. | No logra conectar los conceptos con ninguna aplicación práctica futura. |
| Claridad y Coherencia | Las respuestas son claras, bien estructuradas y utilizan la terminología técnica de forma precisa y natural, demostrando un dominio del lenguaje. | Las ideas son comprensibles, aunque la estructura podría ser más clara o el uso de la terminología podría ser más consistente. | Se expresan ideas básicas, pero la redacción puede ser confusa o imprecisa. | Las respuestas son difíciles de entender, incoherentes o demasiado breves. |