Ik wil in mijn code graag zoiets doen:
<?php
class Foo
{
public static function bar () {
echo 'test';
}
}
$var = 'Foo';
$var::bar();
?>
Alleen nou krijg ik de volgende error:
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /test.php on line 10
Ik weet wat het betekent (dat die :: niet na een variabele mogen), maar ik vroeg me af of iemand een manier wist om dit toch zo te doen. Het is dus de bedoeling om een statische methode aan te roepen op een object van een variabel type.
Ik had er misschien even bij moeten zetten dat ik dat met die accolades al had geprobeerd. Je krijgt dan deze error:
Parse error: syntax error, unexpected '}' in /test.php on line 10
Als ik dat eerste zou kunnen doen, zou ik geen problemen hebben, maar dat gaat dus niet. Het is namelijk de bedoeling om de 'bar'-methode aan te roepen, maar het idee is juist dat ik nog niet weet van welke klasse. Een realistischer voorbeeld van een aanroep zou dus zoiets zijn:
<?php
function call ($var) {
$var::bar();
}
call('Foo');
?>
Ik had gedacht dat dit in een geïnterpreteerde taal wel mogelijk zou zijn...