PHP constants, hvordan man definerer og bruker konstanter

I PHP kan vi sette både variables, constants og arrays. Mens variabler, som navnet tilsier, ofte er variable, brukes konstanter for å definere ting som ikke endrer seg.

Hvis du skal utføre de samme tingene som blir gjort i videoen nedenfor, kan du begynne med å sette inn følgende linjer i scriptet ditt.

<?php
error_reporting
(E_ALL);
// Kode går under denne kommentaren ...
?>

Det gjør at eventuelle feilmeldinger blir printet til skjermen. (Denne endringen kan du også sette i php.ini, dersom du har tilgang til å redigere den.)

Hvordan bruke constants i PHP og hvorfor

Du har ikke installert Flash på datamaskinen din. Du trenger minimum flash 8 for å kunne se denne videoen.

Det er anbefalt at du ser gjennom det som står nedenfor, i tillegg til å se videoen. Det er ting som vises nedenfor som ikke er med i videoen.

Et par anmerkninger til videotutorialen

Det snek seg inn et par feil i videoen. På et tidspunkt hevdes det at en konstant er en variabel, dette er ikke riktig. En konstant er en konstant.

Videre sies det at når konstanten defineres til define('PASS', 1234);, så er verdien av datatypen float, det er feil. Dette er som du ser et heltall, og dermed en integer.

Forskjellen på variabler og konstanter

Målet med variabler er at du kan sette og endre dem over tid. Konstanter skal derimot forbli konstante fra første gangen du definerer dem. Feks vil dette scriptet:

<?php
$var
= 'hei verden';
$var = 'adjø verden';
?>

sette den samme variabelen ($var) to ganger. Det som skjer da er at den første verdien erstattes. Det er det variabelen settes til, tilslutt som gjelder. Dette gjelder ikke for konstanter. Forsøker du å definere en konstant flere ganger, vil du få opp en feilmelding når du prøver å kjøre PHP-skriptet.

Definere constants i PHP

For å definere konstanter i PHP bruker vi en funksjon. Denne funksjonen tar to argumenter, henholdsvis navnet på konstanten og verdien av konstanten, slik:

<?php
define
('PASSORD', 'hemmelig');
?>

Her er det første argumentet navnet, nemlig PASSORD, mens det andre argumentet er verdien, nemlig hemmelig.

Legg også merke til at vi bruker store bokstaver for å angi navnet på konstanten. Grunnen er at det blir enklere å lese PHP-script, dersom man angir konstanter med store bokstaver.

Videre kan konstanter ha flere data typer, akkurat som variabler. De kan være strings, integers, floats og booleans. Definerer verdien av en konstant som integer, float eller boolean så unnlater man å bruke fnutter eller anførselstegn rundt verdien, slik

<?php
define
('BRUKERNAVN', 'Gizzepatten');  // Definerer en string
define('PASSORD', 'hemmelig');        // Definerer en string
define('FODSELSAR', 1950);            // Definerer en integer
define('IQ', 83.5);                   // Definerer en float
define('KUL', false);                 // Definerer en boolean :)
?>

Bruke constants

Konstanter kan, i likhet med variabler, printes ut og fungere som argumenter i funksjoner. Hvis man skal skrive ut en konstant til skjermen kan man bruke echo eller print, slik

<?php
// IQen til Gizzepatten er 83.5
echo 'IQen til ' . BRUKERNAVN . ' er ' . IQ;
?>

Du kan også bruke konstantene sammen med logiske operatorer, feks for å regne ut ting på bakgrunn av dem. Prinsippet fungerer akkurat som med variabler.