Ik zat even in de code te kijken van een Yaml parser (Spyc) en daarin zie ik een paar static methods die vervolgens een nieuw object van diezelfde class aanmaken:
<?php
public static function YAMLDump($array, $indent = false, $wordwrap = false, $no_opening_dashes = false) {
$spyc = new Spyc;
return $spyc->dump($array, $indent, $wordwrap, $no_opening_dashes);
}
?>
Kan iemand uitleggen waarom ie een nieuw object aanmaakt? Het nut van een static method is toch juist dat je niet iedere keer een nieuw object hoeft aan te maken?
Op het overdrachts ding na: Ja. Voor de overdracht tussen applicaties (lees, de APIs) is JSON gangbaarder.
>> Zou je dan, met de blik op oneindig (en het verstand misschien op nul), kunnen zeggen dat PHP zelf dan uiteindelijk obsolete wordt en je met Symfony compiled executables voor webservers kunt gaan maken?
Er zijn als PHP frameworks als C extensies beschikbaar: Phalcon. En je ziet nu ook dat de "Symfony environment" steeds verder overgaat naar het aanbieden van zowel een PHP als C versie, bijv. de Twig C extension.
Het omzetten van Symfony tot een PHP extensie zie ik niet gebeuren. Symfony heeft een tijdje geleden (samen met Twig) onderzoek gedaan of het handig is om dit te doen (bijv. sneller of veiliger, etc.). De winst bleek minimaal, te weinig om 2 versies (PHP en C) te gaan onderhouden.
Overigens zijn er wel andere mensen die Symfony componenten aan het omzetten zijn naar C extensies, bijv. de EventDispatcher extension.
Of PHP zelf ooit gaat verdwijnen? PHP denk ik niet, ik denk wel dat de ZendEngine (die PHP 4 en PHP 5 gebruikten) snel gaat verdwijnen.
De devs van de ZendEngine maken ruzie, staan betekend als mensen die nieuwelingen afzeiken en vrij conservatief zijn. Dan krijg je precies hetzelfde als een paar jaar geleden met de W3C is gebeurd: Er komt een team die gaat werken aan een nieuw project en nog een team en dan heb je dus NGPHP en HipHopPHP (HHVM). In het W3C geval werd W3C weer heel actief wat tot een ruzie tot op de dag van vandaag leidde, maar in PHP denk ik dat ZendEngine gewoon uitsterft en wordt overgenomen door 1 van die andere 2 en dat wordt dan weer PHP 6. Precies zoals na PHP 3 is gebeurd: Om de zoveel versies lijken de PHP developers gewoon weer toe aan een nieuwe engine.
Alles leuk en aardig... zolang ik maar niet ineens een heel andere taal en syntax moet gaan leren. Dat lijkt me dus echt kl@te. Kun je helemaal overnieuw beginnen.