PHP constants i variables
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í:
- Wikibooks PHP: http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_PHP/Operadores
- Hudzilla: http://www.tuxradar.com/practicalphp/3/12/0
Exercicis
- 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.
- 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).
- Calculeu les solucions d'una equació de segon grau del tipus
- f(x) = ax2 + bx + c = 0
- Les variables que us cal per calcular-la son "a", "b" i "c". 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.
- ...