En aquest tema, explorarem les millors pràctiques que hauríeu de seguir per escriure codi PHP net, eficient i segur. Aquestes pràctiques us ajudaran a mantenir el vostre codi organitzat, fàcil de mantenir i menys propens a errors.

  1. Seguir les Normes de Codificació

PSR (PHP Standard Recommendations)

Les PSR són un conjunt de normes de codificació establertes per la PHP-FIG (PHP Framework Interoperability Group). Les més importants són:

  • PSR-1: Normes bàsiques de codificació.
  • PSR-2: Guia d'estil de codificació.
  • PSR-4: Autoloading de classes.

Exemple de PSR-2

<?php

namespace App;

class ExampleClass
{
    private $property;

    public function __construct($property)
    {
        $this->property = $property;
    }

    public function getProperty()
    {
        return $this->property;
    }
}

  1. Utilitzar Noms de Variables i Funcions Descriptius

Mala Pràctica

<?php

function calc($a, $b)
{
    return $a + $b;
}

Bona Pràctica

<?php

function calculateSum($firstNumber, $secondNumber)
{
    return $firstNumber + $secondNumber;
}

  1. Evitar el Codi Duplicat

Mala Pràctica

<?php

function getUserById($id)
{
    // Codi per obtenir l'usuari per ID
}

function getUserByEmail($email)
{
    // Codi per obtenir l'usuari per email
}

Bona Pràctica

<?php

function getUser($field, $value)
{
    // Codi per obtenir l'usuari per qualsevol camp
}

  1. Utilitzar Funcions i Mètodes Curts

Mala Pràctica

<?php

function processUser($user)
{
    // Molt codi aquí
}

Bona Pràctica

<?php

function validateUser($user)
{
    // Validació de l'usuari
}

function saveUser($user)
{
    // Guardar l'usuari a la base de dades
}

function processUser($user)
{
    validateUser($user);
    saveUser($user);
}

  1. Gestió d'Errors i Excepcions

Exemple de Gestió d'Errors

<?php

try {
    // Codi que pot generar una excepció
} catch (Exception $e) {
    // Gestió de l'excepció
    echo 'Error: ' . $e->getMessage();
}

  1. Seguretat

Evitar SQL Injection

Utilitzeu sentències preparades per evitar SQL Injection.

<?php

$stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email');
$stmt->execute(['email' => $email]);
$user = $stmt->fetch();

Validació de Dades

Valideu sempre les dades d'entrada.

<?php

$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
if ($email === false) {
    // Gestió de l'error
}

  1. Documentació

Comentaris

Utilitzeu comentaris per explicar el codi complex.

<?php

/**
 * Calcula la suma de dos nombres.
 *
 * @param int $firstNumber El primer nombre.
 * @param int $secondNumber El segon nombre.
 * @return int La suma dels dos nombres.
 */
function calculateSum($firstNumber, $secondNumber)
{
    return $firstNumber + $secondNumber;
}

  1. Utilitzar Control de Versions

Git

Utilitzeu Git per gestionar les versions del vostre codi.

git init
git add .
git commit -m "Inici del projecte"

  1. Proves

PHPUnit

Utilitzeu PHPUnit per escriure i executar proves.

<?php

use PHPUnit\Framework\TestCase;

class ExampleTest extends TestCase
{
    public function testCalculateSum()
    {
        $this->assertEquals(4, calculateSum(2, 2));
    }
}

  1. Optimització del Rendiment

Cache

Utilitzeu mecanismes de cache per millorar el rendiment.

<?php

// Utilitzar APCu per cache
apcu_store('key', 'value');
$value = apcu_fetch('key');

Resum

En aquesta secció, hem explorat diverses millors pràctiques per al desenvolupament en PHP, incloent normes de codificació, noms descriptius, evitar codi duplicat, funcions curtes, gestió d'errors, seguretat, documentació, control de versions, proves i optimització del rendiment. Seguir aquestes pràctiques us ajudarà a escriure codi més net, mantenible i segur.

Curs de Programació PHP

Mòdul 1: Introducció a PHP

Mòdul 2: Estructures de Control

Mòdul 3: Funcions

Mòdul 4: Arrays

Mòdul 5: Treballant amb Formularis

Mòdul 6: Treballant amb Fitxers

Mòdul 7: Programació Orientada a Objectes (OOP)

Mòdul 8: Treballant amb Bases de Dades

Mòdul 9: Tècniques Avançades de PHP

Mòdul 10: Frameworks PHP i Millors Pràctiques

Mòdul 11: Projecte: Construint una Aplicació Web

© Copyright 2024. Tots els drets reservats