PHP constants i variables

De Cacauet Wiki
Salta a la navegació Salta a la cerca

Seguim programant. De moment sabem mostrar text per pantalla amb la instrucció "echo", però encara no sabem què mostrar.

En PHP es poden definir:

  • Constants: valors que durant tot el programa serà el mateix.
  • Variables: estructura de dades que emmagatzemarà un valor que pot variar durant el programa.


Constants

Per definir una constant utilitzem la instrucció "define":

<?php
   // Definicions
   define("PI", 3.1416);
   define("MISSATGE", "Aprenem PHP com qui no vol la cosa.");

   // mostrem per pantalla
   echo "<p>El número Pi és " . PI . "</p>";    // enlloc de "PI" el browser mostrarà "3.1416"
   echo "<p>".MISSATGE."</p>";                /* enlloc de "MISSATGE" el browser mostrarà
                                                 "Aprenem PHP com qui no vol la cosa." */
?>

MOLT IMPORTANT: Fixeu-vos en què per encadenar text (entre cometes) i les variables utilitzem el punt (".").

Un altre exemple una mica més atrevit, per canviar el color de la lletra. Al tanto que ara ficarem el color definit en la constant dintre d'un tag FONT:

<?php
   // Definicions
   define("MISSATGE", "Aprenem PHP com qui no vol la cosa.");
   define("COLOR_LLETRA", "#FF5A14");

   // mostrem per pantalla
   echo "<p><font color='". COLOR_LLETRA . "'>".MISSATGE."</font></p>";
   phpinfo();
?>

Aquesta tècnica s'utilitza per exemple per definir en un arxiu a part els colors d'un tema. Per canvir un skin es pot fer canviant les definicions. De forma similar es poden canviar missatges en diferents idiomes.


Variables

Les variables en PHP són molt diferents del C/C++. Una variable de PHP:

  • Comença amb "$"
  • Pot contenir qualsevol tipus de dades (número sencer, número real (coma flotant), cadena de caràcters, booleà, etc.)

Podem fer operacions matemàtiques amb les variables utilitzant operadors (+, -, *, /):

<?php
   // definim
   $a = 10;
   $b = 22;
   
   // operem
   $c = $b / $a;
   
   // mostrem
   echo "<p>El resultat de ". $b ." dividit per ". $a ." és = ". $c ."</p>";
   // També ho podem fer així (més senzill):
   echo "<p>El resultat de $b dividit per $a és = $c.</p>";
   // així no funcionarà (cometes simples)
   echo '<p>El resultat de $b dividit per $a és = $c.</p>';

?>

Fixeu-vos que:

  • No definim quin tipus de variable son (en C/C++ cal fer-ho).
  • Concatenem amb el punt, igual que amb les constants, però ara cal posar el "$" davant.
  • Tenim una 2a versió on podem posar les variables directament dintre del text i... FUNCIONEN! És més fàcil, però només funciona amb les dobles cometes.
  • Si volem posar un text amb dòlars potser caldrà posar cometes simples (no substitueix els valors de les variables) com al 3r exemple.

Podeu llegir més sobre operadors aquí:


Exercicis

  1. Creeu un arxiu php amb constants per definir els colors del:
    • background: BACKGROUND_COLOR
    • links: LINKS_COLOR
    • lletra H1: H1_COLOR
    Feu 2 versions de l'arxiu on canviïn els colors canviant només la definició PHP al principi del fitxer. Mireu de no utilitzar CSS i fiqueu-ho directament sobre el CSS.
  2. Busqueu a Internet (preferiblement a php.net)
    • Com fer una arrel quadrada d'una variable.
    • Com crear un número aleatori (busqueu-ho en anglès).
    Feu un exemple de càlcul utilitzant variables i després imprimint-les com a l'exemple de més amunt (1-definim, 2-calculem, 3-mostrem).
  3. Calculeu les solucions d'una equació de segon grau del tipus
    f(x) = ax2 + bx + x = 0
    Les variables que us cal per calcular-la son "a" i "b". I caldrà que feu memòria de la famosa fórmula (òbviament està a la Wikipèdia).
    Presenteu-ho bé: indiqueu l'equació per pantalla, la fórmula teòrica, i la solució pels vostre valors.
  4. ...