[(#BAKEN|class::methode)]
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".
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);
}
}
[(#VAL{9}|Math::factorial)]
// resultaat is 362880