Constanten

Door Marcel , 22 jaar geleden, 3.442x bekeken

De basis van constanten simpel besproken

Gesponsorde koppelingen

Inhoudsopgave

  1. Define
  2. Define 2
  3. Standaard Constanten
  4. Conclusie

 

Er zijn 13 reacties op 'Constanten'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Marien xD
Marien xD
22 jaar geleden
 
0 +1 -0 -1
Hmm, ik gebruikte ze weleens maar nu ik de standaard constanten gezien heb ga ik ze zeker weten gebruiken ;)
PHP erik
PHP erik
22 jaar geleden
 
0 +1 -0 -1
Misschien leuk even een paginaatjes toe te voegen voor constants in classes.
Harmen
Harmen
22 jaar geleden
 
0 +1 -0 -1
ik heb er verder niet echt van gehoord; wel leuk om te gebruiken!
Jelmer -
Jelmer -
22 jaar geleden
 
0 +1 -0 -1
PHP5 klasse constanten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
class Test {
   const NEWLINE = "\r\n";

   public function __construct() {
      echo self::NEWLINE;
   }
}

?>


En wat ik zo leuk vind van constanten, is het combineren, de sommetjes. Zie, strings met elkaar vergelijken is veel langzamer, en veel foutgevoeliger dan het vergelijken van integers. Dus je geeft je constanten lekker integers mee. Kost veel minder geheugen en is sneller. Jij hebt er geen last van, je ziet toch enkel de constante. Klassiek voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
define('READ', 1);
define('WRITE', 2);
define('EXECUTE', 4);

function
watMagIk($rechten) {
   if($rechten % READ) {
      echo 'Lezen';
   }

   if($rechten % WRITE) {
      echo 'Schrijven';
   }

   if($rechten % EXECUTE) {
      echo 'Uitvoeren';
   }
}


watMagIk(READ + WRITE);
watMagIk(READ);
watMagIk(READ + EXECUTE);
watMagIk(READ + WRITE - READ);

//Maar ook:
define('METHOD_EMAIL', 1);
define('METHOD_LOG', 2);

function
stuurBericht($bericht, $methode) {
   switch($methode) {
      case
METHOD_EMAIL:
         mail();
         break;
      case
METHOD_LOG:
         error_log()
         break;
   }
}


// of nog beter, zo kan je ze combineren!
function stuurBericht($bericht, $methode) [
   if($method % METHOD_LOG) {
      error_log();
   }

   if($method % METHOD_EMAIL) {
      mail();
   }
}


stuurBericht('S.O.S.', METHOD_LOG + METHOD_EMAIL);
stuurBericht('S.O.S. me', METHOD_EMAIL);
?>
Bo az
Bo az
22 jaar geleden
 
0 +1 -0 -1
Wow, nice voorbeeld Jelmer, icm % begin ik het nut pas echt te zien. :)
Frank -
Frank -
22 jaar geleden
 
0 +1 -0 -1
@Jelmer: Waarom zou je een constante aanmaken voor een newline als die er al is? Kijk eens naar PHP_EOL. Is zelfs onafhankelijk van het besturingssysteem, wel zo handig.
Jelmer -
Jelmer -
22 jaar geleden
 
0 +1 -0 -1
Heb ik ook weer wat geleerd ^^,
Richard van Velzen
Richard van Velzen
22 jaar geleden
 
0 +1 -0 -1
@Jelmer: ik zou overigens niet % READ/WRITE/EXECUTE, maar de bitwise and (&) operator gebruiken. Net iets sneller en ervoor bedoeld;)
Jason de Ridder
Jason de Ridder
22 jaar geleden
 
0 +1 -0 -1
Over EOL, neem aan EndOfLine?
Wat doet EOF? (EndOfFile)???
Richard van Velzen
Richard van Velzen
22 jaar geleden
 
0 +1 -0 -1
EOF is inderdaad End Of File (maar deze constante bestaat niet in PHP;))
Jason de Ridder
Jason de Ridder
22 jaar geleden
 
0 +1 -0 -1
ik d8 van wel... o nee het is feof. eof is c(++)
Jelmer -
Jelmer -
22 jaar geleden
 
0 +1 -0 -1
feof omdat het ook fopen en fgets enz. is. f staat dan in die zin waarschijnlijk voor file (al kan je tegenwoordig ook http en ftp als 'protocol' gebruiken in fopen :) )
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Legolas
Legolas
22 jaar geleden
 
0 +1 -0 -1
feof is een functie, EOF een constante, maar die is niet in php

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. Define
  2. Define 2
  3. Standaard Constanten
  4. Conclusie

Labels

  • Geen tags toegevoegd.

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.