Filters afgeleid van PHP classes

Een minder bekende coderingstechniek maakt het mogelijk om ook een PHP-klasse methode uit te voeren. Wanneer gevraagd wordt om een filter te verwerken dat geschreven is als "x::y", zal SPIP op zoek gaan naar een "filter_x" PHP klasse met een uitvoerbare "y" methode. Als het er geen vindt, zal het zoeken naar een klasse "filtre_x_dist", en dan uiteindelijk naar een klasse "x".

  1. [(#BAKEN|class::methode)]

Voorbeeld

Stel dat we een PHP class hebben die als volgt is gedefinieerd. Ze bevat een (recursieve) functie die faculteiten berekent (x! = x*(x-1)*(x-2)*...*3*2*1).

class Math{
  function factorial($n){
    if ($n==0) 
      return 1;
    else 
      return $n * Math::factorial($n-1);
    }
}

Deze nieuwe functie kan binnen SPIP als volgt worden opgeroepen:

[(#VAL{9}|Math::factorial)]
// resultaat is 362880

Auteur hanjo Gepubliceerd op:

Vertalingen: English, français, Nederlands