En aquest tema, explorarem com PHP pot interactuar amb serveis web, incloent-hi la creació i consum de serveis web RESTful i SOAP. Els serveis web permeten que diferents aplicacions es comuniquin entre si a través de la xarxa, utilitzant protocols estàndard com HTTP.
Continguts
Introducció als Serveis Web
Els serveis web són mètodes que permeten la comunicació entre diferents aplicacions a través d'una xarxa. Els dos tipus principals de serveis web són:
- RESTful: Utilitza HTTP i està basat en recursos.
- SOAP: Protocol basat en XML per a l'intercanvi de missatges.
Serveis Web RESTful
Característiques de RESTful
- Utilitza HTTP: GET, POST, PUT, DELETE.
- Basat en Recursos: Cada recurs té un URI únic.
- Sense Estat: Cada petició és independent.
Exemple de RESTful
Aquest exemple recupera la informació de l'usuari amb ID 1.
Serveis Web SOAP
Característiques de SOAP
- Protocol Basat en XML: Utilitza XML per a l'intercanvi de missatges.
- Altament Estàndard: Suporta WS-Security, WS-Addressing, etc.
- Independent del Protocol de Transport: Pot utilitzar HTTP, SMTP, etc.
Exemple de SOAP
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header/>
<soap:Body>
<m:GetUser xmlns:m="http://www.example.org/user">
<m:UserId>1</m:UserId>
</m:GetUser>
</soap:Body>
</soap:Envelope>Aquest exemple recupera la informació de l'usuari amb ID 1.
Consumint Serveis Web amb PHP
Consumint un Servei Web RESTful
<?php $url = "https://api.example.com/users/1"; $response = file_get_contents($url); $data = json_decode($response, true); print_r($data); ?>
Consumint un Servei Web SOAP
<?php
$client = new SoapClient("https://www.example.com/soap?wsdl");
$params = array("UserId" => 1);
$response = $client->__soapCall("GetUser", array($params));
print_r($response);
?>Creant un Servei Web RESTful amb PHP
Exemple de Servei Web RESTful
<?php
header("Content-Type: application/json");
$method = $_SERVER['REQUEST_METHOD'];
switch ($method) {
case 'GET':
getUser();
break;
case 'POST':
createUser();
break;
case 'PUT':
updateUser();
break;
case 'DELETE':
deleteUser();
break;
default:
echo json_encode(["message" => "Method not allowed"]);
break;
}
function getUser() {
// Lògica per obtenir un usuari
echo json_encode(["id" => 1, "name" => "John Doe"]);
}
function createUser() {
// Lògica per crear un usuari
echo json_encode(["message" => "User created"]);
}
function updateUser() {
// Lògica per actualitzar un usuari
echo json_encode(["message" => "User updated"]);
}
function deleteUser() {
// Lògica per eliminar un usuari
echo json_encode(["message" => "User deleted"]);
}
?>Creant un Servei Web SOAP amb PHP
Exemple de Servei Web SOAP
<?php
class UserService {
public function getUser($params) {
$userId = $params->UserId;
return ["id" => $userId, "name" => "John Doe"];
}
}
$options = array('uri' => 'http://localhost/');
$server = new SoapServer(null, $options);
$server->setClass('UserService');
$server->handle();
?>Exercicis Pràctics
- Consumir un Servei Web RESTful: Escriu un script PHP que consumeixi un servei web RESTful públic i mostri la informació obtinguda.
- Crear un Servei Web RESTful: Implementa un servei web RESTful que permeti crear, llegir, actualitzar i eliminar usuaris.
- Consumir un Servei Web SOAP: Escriu un script PHP que consumeixi un servei web SOAP públic i mostri la informació obtinguda.
- Crear un Servei Web SOAP: Implementa un servei web SOAP que permeti obtenir informació d'usuaris.
Conclusió
En aquest tema, hem après què són els serveis web i com podem utilitzar PHP per crear i consumir serveis web RESTful i SOAP. Els serveis web són una eina poderosa per permetre la comunicació entre diferents aplicacions, i PHP proporciona les eines necessàries per treballar amb aquests serveis de manera eficient.
Curs de Programació PHP
Mòdul 1: Introducció a PHP
- Què és PHP?
- Configuració de l'Entorn de Desenvolupament
- El teu Primer Script PHP
- Sintaxi i Variables de PHP
- Tipus de Dades en PHP
Mòdul 2: Estructures de Control
Mòdul 3: Funcions
- Definició i Crida de Funcions
- Paràmetres de Funció i Valors de Retorn
- Àmbit de Variables
- Funcions Anònimes i Closures
Mòdul 4: Arrays
Mòdul 5: Treballant amb Formularis
Mòdul 6: Treballant amb Fitxers
- Lectura i Escriptura de Fitxers
- Funcions de Gestió de Fitxers
- Permisos de Fitxers
- Funcions de Directori
Mòdul 7: Programació Orientada a Objectes (OOP)
- Introducció a OOP
- Classes i Objectes
- Propietats i Mètodes
- Herència
- Interfícies i Classes Abstractes
- Traits
Mòdul 8: Treballant amb Bases de Dades
- Introducció a les Bases de Dades
- Connexió a una Base de Dades MySQL
- Realització d'Operacions CRUD
- Ús de PDO per a la Interacció amb Bases de Dades
- Seguretat en Bases de Dades
Mòdul 9: Tècniques Avançades de PHP
- Gestió d'Errors i Excepcions
- Sessions i Cookies
- Expressions Regulars
- Treballant amb JSON i XML
- PHP i Serveis Web
Mòdul 10: Frameworks PHP i Millors Pràctiques
- Introducció als Frameworks PHP
- Començant amb Laravel
- Arquitectura MVC
- Millors Pràctiques en Desenvolupament PHP
- Proves i Depuració
