Diferència entre revisions de la pàgina «Programació web entorn servidor»
Línia 83: | Línia 83: | ||
* [[Serveis Web]] | * [[Serveis Web]] | ||
* [[Serveis web amb Laravel]] | * [[Serveis web amb Laravel]] | ||
+ | * Pràctica entregable: [[Serveis Web amb Opendata]] | ||
* Material addicional en Python: [[Web Services: exemple Escacs]] | * Material addicional en Python: [[Web Services: exemple Escacs]] | ||
* [https://ajgallego.gitbooks.io/laravel-5/content/capitulo_5.html REST i CURL del tutorial de Laravel de AJ Gallego] | * [https://ajgallego.gitbooks.io/laravel-5/content/capitulo_5.html REST i CURL del tutorial de Laravel de AJ Gallego] | ||
<br> | <br> |
Revisió del 10:35, 10 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
Articles de referència:
- Serveis Web
- Serveis web amb Laravel
- Pràctica entregable: Serveis Web amb Opendata
- Material addicional en Python: Web Services: exemple Escacs
- REST i CURL del tutorial de Laravel de AJ Gallego