PHP je dinamičan jezik. Može on svašta
PHP kôd:
$class = 'Smarty';
$smarty = new $class();
function doSomething() {
$args = func_get_args();
print "Prvi: $args[0]\nDrugi: $args[1]\nTreci: $args[2]";
}
doSomething(1, 2, 3);
Dinamičko pozivanje funkcija i metoda, preprocessor je tako da možeš da koristiš generatore, ako pametno koristiš eval() možeš i sa njim da radiš svašta (npr. pozivanje statičkih metoda ili izvršavanje kompleksnih, on-fly generisanih operacija).
Ono što mi nedostaje da bi baš pravio pizdarije je dinamično proširivanje već definisanih klasa i preklapanje operatora. Dodaj tome imenovane parametre i blokove i imaš visoko dinamičan jezik koji slobodno može da se poredi sa Rubyjem i Pythonom (visoko dinamični OO jezici).
Ali dobro, i ovakav kakav je radi posao.