Constanten
PHP definieert aan aantal constanten en biedt een mechanisme om zelf constanten te definiëren in de code. Constanten lijken erg op variabelen, behalve dat constanten moeten worden gedefinieerd met de define() functie, en dat ze later niet meer kunnen worden veranderd.
De altijd aanwezige voorgedefinieerde constanten zijn:
- __FILE__
- De naam van het script dat op het moment wordt uitgevoerd. Als het wordt gebruikt binnen een ge-include of ge-required bestand, dan wordt de naam van het included bestand gegeven, en niet de naam van het parent bestand.
- __LINE__
- Het regelnummer binnen het script dat op het moment wordt uitgevoerd. Als het wordt gebruikt binnen een ge-include of ge-required bestand, dan wordt de positie binnen het included bestand gegeven.
- PHP_VERSION
- De string die de versie aangeeft van de in gebruik zijnde PHP parser; bijvoorbeeld '4.0.4-dev'.
- PHP_OS
- De naam van het besturingssysteem waarop de PHP parser draait; bijvoorbeeld 'Linux'.
- TRUE
- Een ware waarde.
- FALSE
- Een niet-ware waarde.
- E_ERROR
- Geeft een fout aan, anders dan een parse fout, waarop geen actie kan worden ondernomen.
- E_WARNING
- Geeft een conditie aan waarin PHP weet dat er iets verkeerd is, maar toch doorgaat; dit type fouten kunnen door het script zelf worden opgevangen. Een voorbeeld zou een ongeldige regexp in ereg() kunnen zijn.
- E_PARSE
- De parser heeft een fatale fout in het script gevonden. Het is niet mogelijk door te gaan.
- E_NOTICE
- Soms gebeurt er iets wat een fout kan zijn of niet. Het script wordt wel verder uitgevoerd. Een voorbeeld is het gebruik van bijvoorbeeld $foo[bar], of het gebruiken van een nog niet bestaande variabele.
- E_ALL
- Alle E_* constanten in één. Indien dit samen wordt gebruikt met error_reporting() worden alle fouten en problemen gerapporteerd door PHP.
De E_* constanten worden normaal gebruikt met de error_reporting() functie om het fout rapporteer niveau te zetten. Zie voor al deze constanten: Error handling.
Ju kunt zelf constanten toevoegen met de define() functie.
Let er op dat dit constanten zijn, en geen C-achtige macros; alleen geldige scalaire gegevens mogen wordt gebruikt voor constanten.
Example#1 Constanten definiëren
<?php define("CONSTANT", "Hallo wereld."); echo CONSTANT; // print "Hallo wereld." ?>
Example#2 Het gebruik van __FILE__ en __LINE__
<?php function report_error($bestand, $regel, $tekst) { echo "Er is een fout opgetreden in $bestand op regel $regel: $tekst."; } report_error(__FILE__,__LINE__, "D'r ging iets fout!"); ?>