Diferència entre revisions de la pàgina «Programació web entorn servidor»
Línia 64: | Línia 64: | ||
== UF4 Serveis web == | == UF4 Serveis web == | ||
− | Els [https://ca.wikipedia.org/wiki/Servei_web serveis web], simplificant, és una manera de realitzar crides a funcions remotes mitjançant el protocol HTTP. És la forma més còmoda per al programador web d'anar a buscar dades a un servidor, ja sigui des d'un altre servidor o des d'un client. | + | Els [https://ca.wikipedia.org/wiki/Servei_web serveis web], simplificant, és una manera de realitzar '''crides a funcions remotes''' mitjançant el protocol HTTP. És la forma més còmoda per al programador web d'anar a buscar dades a un servidor, ja sigui des d'un altre servidor o des d'un client. |
+ | Al tractar-se, com hem dit, de "crides a funcions remotes", solem anomenar-los [https://ca.wikipedia.org/wiki/Interf%C3%ADcie_de_programaci%C3%B3_d'aplicacions API : Application Programming Interface]. | ||
+ | Des de la línia de comandes Unix podem fer una d'aquestes crides a través de la comanda '''curl''' (call URL). Per exemple, per obtenir el HTML d'una web simple, podríem fer: | ||
+ | $ curl http://cacauet.org | ||
+ | |||
+ | La comanda curl permet fer crides més complexes amb mètodes POST, GET, PUT, DELETE, etc. i adjuntar dades i ''headers''. Consulta les possibilitats amb: | ||
+ | $ man curl | ||
+ | |||
+ | Però no només podem obtenir HTML. El servidor ens podria retornar una dada concreta, per exemple, el nº de vots obtingut per un partit en unes eleccions o bé la quantitat de "likes" d'un post. | ||
+ | |||
+ | Normalment, per tal d'ordenar correctament dades més complexes, s'acaben retornant les dades en un d'aquests dos formats ([https://www.w3schools.com/js/js_json_xml.asp veure JSON vs XML]). | ||
+ | * XML | ||
+ | * JSON | ||
+ | |||
+ | Passem a la pràctica: | ||
+ | [[Serveis web amb Laravel]] | ||
<br> | <br> |
Revisió del 19:47, 7 març 2017
En aquesta assignatura treballarem bàsicament amb PHP, que actualment és el llenguatge més estès per a la programació web.
Recursos:
- Quadern d'exercicis del Daniel Herrera (molt agraït):
https://uf.ctrl-alt-d.net
- Al mateix cacauet.org també disposeu del Curs de PHP amb recursos varis.
Contingut
UF1 Programació web entorn servidor
Temes a tractar amb PHP:
- Execució servidor vs client
- Servidor web
- Tipus primitius de dades
- Arrays i arrays associatius (aka "diccionaris")
- Control de flux
- Funcions
- Objectes
- Arxius
- Formularis
- GET vs POST
- Cookies i PHP sessions
Exemples:
- Batalla naval en PHP (versions amb i sense sessions)
Exercicis entregables:
UF3 Accés a dades
En aquesta UF estudiarem diversos mètodes d'accés a bases de dades, imprescindibles per poder realitzar pàgines web dinàmiques.
Índex UF3 al quadern d'exercicis:
https://uf.ctrl-alt-d.net/material/mostra/308/tecniques-dacces-a-dades-metacontingut
Començarem, però, per alguns exemples clàssics:
- PHP MySQL select: accedirem a una base de dades de la manera més clàssica i menys eficient, amb instruccions específiques per a un SGBD concret (MySQL). Òbviament, això no és gaire òptim però està bé conèixer els mecanismes bàsics.
- PDO o PHP Data Objects
- Llegeix-te aquest exercici d'accés a dades amb PDO.
- Para atenció en com es fa el foreach enlloc del for habitual.
- Exercici: Utilitza la base de dades WORLD vista al primer tutorial per fer una pàgina que llisti països amb un filtre per CONTINENT.
- Llegeix-te aquest exercici d'accés a dades amb PDO.
- ORM: ...
UF2 Programació de webs dinàmiques
Introducció:
- Desenvolupament d'aplicacions web amb frameworks
- Apunts interessants del Sergi Coll: https://seicoll.github.io/DAW-M07-UF2-Apunts/
Tutorials:
- Laravel: instal·lació i primeres passes
- Un bon tutorial molt complert: https://ajgallego.gitbooks.io/laravel-5/content/index.html
- Mini projecte amb Laravel
UF4 Serveis web
Els serveis web, simplificant, és una manera de realitzar crides a funcions remotes mitjançant el protocol HTTP. És la forma més còmoda per al programador web d'anar a buscar dades a un servidor, ja sigui des d'un altre servidor o des d'un client.
Al tractar-se, com hem dit, de "crides a funcions remotes", solem anomenar-los API : Application Programming Interface.
Des de la línia de comandes Unix podem fer una d'aquestes crides a través de la comanda curl (call URL). Per exemple, per obtenir el HTML d'una web simple, podríem fer:
$ curl http://cacauet.org
La comanda curl permet fer crides més complexes amb mètodes POST, GET, PUT, DELETE, etc. i adjuntar dades i headers. Consulta les possibilitats amb:
$ man curl
Però no només podem obtenir HTML. El servidor ens podria retornar una dada concreta, per exemple, el nº de vots obtingut per un partit en unes eleccions o bé la quantitat de "likes" d'un post.
Normalment, per tal d'ordenar correctament dades més complexes, s'acaben retornant les dades en un d'aquests dos formats (veure JSON vs XML).
- XML
- JSON
Passem a la pràctica:
Serveis web amb Laravel