Anomalie oder Einlesefehler der PHP Syntax?
Refactoring macht mir viel Spaß. Das hat viele Gründe: man sieht wie andere Programmierer bestimmte Probleme gelöst haben, man sieht wie Sachen gemacht oder besser nicht gemacht werden sollen, man arbeitet mit altem Code. Dabei sind mir schon einige kuriose Codefragmente aufgefallen wo ich schmunzeln musste. Aktuell stehe ich vor einem Codefragment wo ich mich erst fragen muss – ob so was überhaupt ge-parsed werden kann. Hier das Codefragment in einer vereinfachten Art und Weise:
error_reporting(E_ALL | E_STRICT); ini_set('display_errors', true); //try { $conan = 1; $power = 1; print ($conan + $power).PHP_EOL; } //catch (Exception $e) { // do nothing ... }
In das oben aufgeführte Beispiel, hat man nur das „try“ und „catch“ auskommentiert. Häää?! Ich verstehe leider nicht, was hier die Absicht des Programmierers war – aber gut. Habe den Script mit „php -l“ nach PHP Einlesefehler geprüft. Ergebnis – alles OK!!! Habe das Script ausgeführt. Ergebnis – wieder alles OK!!! Wie ist es möglich, dass solch eine Syntax funktioniert? Woher kommt das? Ist das eine Anomalie oder Absicht im PHP?