En aquest tema, explorarem el concepte de l'àmbit de les variables en PHP. L'àmbit d'una variable determina on es pot accedir a aquesta variable dins del codi. Comprendre l'àmbit de les variables és crucial per evitar errors i escriure codi net i eficient.

Tipus d'Àmbit de Variables

En PHP, hi ha quatre tipus principals d'àmbit de variables:

  1. Àmbit Local
  2. Àmbit Global
  3. Àmbit Estàtic
  4. Àmbit de Paràmetres de Funció

  1. Àmbit Local

Les variables declarades dins d'una funció tenen àmbit local. Això significa que només es poden accedir a aquestes variables dins de la funció on han estat declarades.

<?php
function exempleLocal() {
    $variableLocal = "Hola, món!";
    echo $variableLocal; // Això funciona
}

exempleLocal();
echo $variableLocal; // Això donarà un error
?>

  1. Àmbit Global

Les variables declarades fora de qualsevol funció tenen àmbit global. Aquestes variables poden ser accedides des de qualsevol part del codi, excepte dins de les funcions, tret que s'utilitzi la paraula clau global.

<?php
$variableGlobal = "Hola, món!";

function exempleGlobal() {
    global $variableGlobal;
    echo $variableGlobal; // Això funciona gràcies a la paraula clau 'global'
}

exempleGlobal();
echo $variableGlobal; // Això també funciona
?>

  1. Àmbit Estàtic

Les variables estàtiques dins d'una funció conserven el seu valor entre crides a la funció. Això és útil quan es necessita mantenir l'estat d'una variable entre diverses execucions de la funció.

<?php
function exempleStatic() {
    static $contador = 0;
    $contador++;
    echo $contador;
}

exempleStatic(); // Imprimeix 1
exempleStatic(); // Imprimeix 2
exempleStatic(); // Imprimeix 3
?>

  1. Àmbit de Paràmetres de Funció

Els paràmetres de funció tenen àmbit local dins de la funció. Això significa que només es poden accedir a aquests paràmetres dins de la funció on han estat definits.

<?php
function exempleParametres($parametre) {
    echo $parametre;
}

exempleParametres("Hola, món!"); // Imprimeix "Hola, món!"
echo $parametre; // Això donarà un error
?>

Exercicis Pràctics

Exercici 1: Àmbit Local

Crea una funció que declari una variable local i imprimeixi el seu valor. Intenta accedir a aquesta variable fora de la funció i observa què passa.

<?php
function exerciciLocal() {
    $variableLocal = "Això és una variable local";
    echo $variableLocal;
}

exerciciLocal();
echo $variableLocal; // Què passa aquí?
?>

Exercici 2: Àmbit Global

Declara una variable global i crea una funció que accedeixi a aquesta variable utilitzant la paraula clau global.

<?php
$variableGlobal = "Això és una variable global";

function exerciciGlobal() {
    global $variableGlobal;
    echo $variableGlobal;
}

exerciciGlobal();
?>

Exercici 3: Àmbit Estàtic

Crea una funció que utilitzi una variable estàtica per comptar el nombre de vegades que la funció ha estat cridada.

<?php
function exerciciStatic() {
    static $contador = 0;
    $contador++;
    echo $contador;
}

exerciciStatic(); // Imprimeix 1
exerciciStatic(); // Imprimeix 2
exerciciStatic(); // Imprimeix 3
?>

Exercici 4: Àmbit de Paràmetres de Funció

Crea una funció que accepti un paràmetre i imprimeixi el seu valor. Intenta accedir a aquest paràmetre fora de la funció i observa què passa.

<?php
function exerciciParametres($parametre) {
    echo $parametre;
}

exerciciParametres("Això és un paràmetre de funció");
echo $parametre; // Què passa aquí?
?>

Resum

En aquest tema, hem après sobre els diferents tipus d'àmbit de variables en PHP: local, global, estàtic i de paràmetres de funció. Hem vist com cada tipus d'àmbit afecta la visibilitat i la vida útil de les variables. A més, hem practicat aquests conceptes amb exercicis pràctics per reforçar el nostre coneixement.

En el següent tema, explorarem les funcions anònimes i les closures en PHP, que ens permetran escriure codi més flexible i modular.

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