En aquest tema, aprendrem a treballar amb JSON (JavaScript Object Notation) i XML (eXtensible Markup Language) en PHP. Aquests formats són àmpliament utilitzats per a l'intercanvi de dades entre aplicacions web i serveis. Veurem com analitzar i generar dades en aquests formats utilitzant PHP.
JSON en PHP
Què és JSON?
JSON és un format lleuger per a l'intercanvi de dades. És fàcil de llegir i escriure per a humans, i fàcil de parsejar i generar per a màquines. JSON està basat en un subconjunt de la notació d'objectes de JavaScript.
Funcions JSON en PHP
PHP proporciona diverses funcions per treballar amb JSON:
json_encode()
: Converteix una estructura de dades de PHP en una cadena JSON.json_decode()
: Converteix una cadena JSON en una estructura de dades de PHP.
Exemple Pràctic
Convertir un Array PHP a JSON
<?php $data = array( "nom" => "Joan", "edat" => 30, "correu" => "[email protected]" ); $json_data = json_encode($data); echo $json_data; ?>
Explicació:
- Hem creat un array associatiu
$data
. - Utilitzem
json_encode()
per convertir l'array en una cadena JSON. - Finalment, imprimim la cadena JSON.
Convertir una Cadena JSON a un Array PHP
<?php $json_data = '{"nom":"Joan","edat":30,"correu":"[email protected]"}'; $data = json_decode($json_data, true); print_r($data); ?>
Explicació:
- Tenim una cadena JSON
$json_data
. - Utilitzem
json_decode()
per convertir la cadena JSON en un array associatiu PHP. - Imprimim l'array resultant.
Exercici Pràctic
Exercici:
- Crea un array associatiu amb informació sobre un llibre (títol, autor, any de publicació).
- Converteix l'array a una cadena JSON i imprimeix-la.
- Converteix la cadena JSON resultant a un array PHP i imprimeix-lo.
Solució:
<?php // Pas 1: Crear l'array associatiu $llibre = array( "titol" => "El Quixot", "autor" => "Miguel de Cervantes", "any" => 1605 ); // Pas 2: Convertir l'array a JSON $json_llibre = json_encode($llibre); echo "JSON: " . $json_llibre . "\n"; // Pas 3: Convertir la cadena JSON a un array PHP $array_llibre = json_decode($json_llibre, true); print_r($array_llibre); ?>
XML en PHP
Què és XML?
XML és un llenguatge de marcatge que defineix un conjunt de regles per a l'estructuració de documents de manera que siguin llegibles tant per a humans com per a màquines.
Funcions XML en PHP
PHP proporciona diverses funcions i extensions per treballar amb XML, com ara SimpleXML
i DOMDocument
.
Exemple Pràctic amb SimpleXML
Analitzar un Document XML
<?php $xml_string = <<<XML <llibre> <titol>El Quixot</titol> <autor>Miguel de Cervantes</autor> <any>1605</any> </llibre> XML; $xml = simplexml_load_string($xml_string); echo "Títol: " . $xml->titol . "\n"; echo "Autor: " . $xml->autor . "\n"; echo "Any: " . $xml->any . "\n"; ?>
Explicació:
- Hem creat una cadena XML
$xml_string
. - Utilitzem
simplexml_load_string()
per carregar la cadena XML en un objecte SimpleXML. - Accedim als elements XML com si fossin propietats de l'objecte.
Generar un Document XML
<?php $llibre = new SimpleXMLElement('<llibre/>'); $llibre->addChild('titol', 'El Quixot'); $llibre->addChild('autor', 'Miguel de Cervantes'); $llibre->addChild('any', 1605); echo $llibre->asXML(); ?>
Explicació:
- Hem creat un nou objecte SimpleXMLElement amb l'element arrel
<llibre>
. - Utilitzem
addChild()
per afegir elements fills. - Utilitzem
asXML()
per obtenir la representació XML com a cadena.
Exercici Pràctic
Exercici:
- Crea una cadena XML amb informació sobre una pel·lícula (títol, director, any de publicació).
- Analitza la cadena XML i imprimeix els valors dels elements.
- Genera un document XML amb la mateixa informació utilitzant SimpleXML.
Solució:
<?php // Pas 1: Crear la cadena XML $xml_string = <<<XML <pelicula> <titol>Inception</titol> <director>Christopher Nolan</director> <any>2010</any> </pelicula> XML; // Pas 2: Analitzar la cadena XML $xml = simplexml_load_string($xml_string); echo "Títol: " . $xml->titol . "\n"; echo "Director: " . $xml->director . "\n"; echo "Any: " . $xml->any . "\n"; // Pas 3: Generar un document XML $pelicula = new SimpleXMLElement('<pelicula/>'); $pelicula->addChild('titol', 'Inception'); $pelicula->addChild('director', 'Christopher Nolan'); $pelicula->addChild('any', 2010); echo $pelicula->asXML(); ?>
Conclusió
En aquesta secció, hem après a treballar amb JSON i XML en PHP. Hem vist com convertir estructures de dades PHP a JSON i viceversa, així com analitzar i generar documents XML utilitzant SimpleXML. Aquests coneixements són essencials per a l'intercanvi de dades entre aplicacions web i serveis. En el proper tema, explorarem com utilitzar PHP per interactuar amb serveis web.
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ó