En aquest tema, aprendrem sobre les tècniques de proves i depuració en PHP. Aquestes habilitats són essencials per assegurar que el teu codi funcioni correctament i per identificar i corregir errors de manera eficient.
Continguts
Introducció a les Proves
Les proves són una part fonamental del desenvolupament de programari. Ens ajuden a assegurar que el codi compleix amb els requisits i funciona com s'espera. Les proves poden detectar errors abans que el codi arribi a producció, estalviant temps i recursos.
Tipus de Proves
Hi ha diversos tipus de proves que es poden realitzar en PHP:
- Proves Unitàries: Verifiquen la funcionalitat de components individuals del codi, com ara funcions o mètodes.
- Proves d'Integració: Asseguren que diferents components del sistema funcionen correctament junts.
- Proves Funcionals: Verifiquen que el sistema compleix amb els requisits funcionals especificats.
- Proves de Regresió: Asseguren que els canvis en el codi no introdueixen nous errors en funcionalitats ja existents.
Eines de Proves en PHP
PHP ofereix diverses eines per a la realització de proves. Algunes de les més populars són:
- PHPUnit: Una eina de proves unitàries per a PHP.
- Behat: Una eina de proves de comportament.
- Codeception: Un framework de proves que combina proves unitàries, d'acceptació i funcionals.
Escrivint Proves amb PHPUnit
PHPUnit és una de les eines més utilitzades per a les proves unitàries en PHP. A continuació, veurem com instal·lar i utilitzar PHPUnit per escriure proves.
Instal·lació de PHPUnit
Pots instal·lar PHPUnit utilitzant Composer:
Creant una Prova
A continuació, es mostra un exemple de com crear una prova unitària amb PHPUnit:
<?php use PHPUnit\Framework\TestCase; class CalculatorTest extends TestCase { public function testAdd() { $calculator = new Calculator(); $result = $calculator->add(2, 3); $this->assertEquals(5, $result); } }
Executant les Proves
Per executar les proves, utilitza la següent comanda:
Depuració en PHP
La depuració és el procés d'identificar i corregir errors en el codi. PHP ofereix diverses eines i tècniques per ajudar en aquest procés.
Eines de Depuració
Algunes de les eines de depuració més utilitzades en PHP són:
- Xdebug: Una extensió de PHP que proporciona eines de depuració i anàlisi de rendiment.
- PHP Debugger (DBG): Una altra extensió de depuració per a PHP.
- FirePHP: Una eina que permet enviar dades de depuració al navegador.
Utilitzant Xdebug
Xdebug és una de les eines de depuració més populars per a PHP. A continuació, es mostra com instal·lar i utilitzar Xdebug.
Instal·lació de Xdebug
Pots instal·lar Xdebug utilitzant PECL:
Després de la instal·lació, afegeix la següent línia al fitxer php.ini
:
Configuració de Xdebug
Afegeix les següents línies al fitxer php.ini
per configurar Xdebug:
xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_handler=dbgp
Utilitzant Xdebug amb un IDE
Molts IDEs com PHPStorm i Visual Studio Code suporten Xdebug. Consulta la documentació del teu IDE per configurar la integració amb Xdebug.
Exercicis Pràctics
Exercici 1: Escriure una Prova Unitària
Escriu una prova unitària per a una funció que calcula el factorial d'un nombre.
Solució
<?php use PHPUnit\Framework\TestCase; class MathTest extends TestCase { public function testFactorial() { $math = new Math(); $result = $math->factorial(5); $this->assertEquals(120, $result); } } class Math { public function factorial($n) { if ($n <= 1) { return 1; } return $n * $this->factorial($n - 1); } }
Exercici 2: Depurar un Error
Utilitza Xdebug per depurar el següent codi i identificar l'error:
Solució
L'error en el codi és una divisió per zero. Utilitzant Xdebug, pots identificar l'error i corregir-lo:
<?php function divide($a, $b) { if ($b == 0) { throw new Exception("Divisió per zero no permesa."); } return $a / $b; } try { echo divide(10, 0); } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); }
Conclusió
En aquesta secció, hem après sobre les tècniques de proves i depuració en PHP. Hem vist com utilitzar PHPUnit per escriure proves unitàries i com utilitzar Xdebug per depurar el codi. Aquestes habilitats són essencials per assegurar que el teu codi funcioni correctament i per identificar i corregir errors 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ó