woodfighter: PDO Exception in eigenem Namespace

Beitrag lesen

Tach,

Ok, dann arbeitet der PHP-Compiler hier deutlich anders als ich das von Java gewohnt bin, da wird nicht erst zur Runtime festgestellt, ob die Klassen etc. zugänglich sind.

Wir haben es ja bei PHP auch nicht mit einem kompilierenden System im klassischen Sinne zu tun. Man könnte es im Prinzip als interpretatives System betrachten, und das wäre nicht ganz verkehrt. Der Compiler ist hier nur ein Bytecode-Compiler. Da man aber zur Laufzeit mit include und Co. (und auch mit eval()) Code nachladen kann, und das auch bedingt, und auch solche Konstrukte wie variable Variablen hat, kann man vor dem Start kein vollständiges Kompilat erstellen, und damit auch nicht wissen, was eingeladen werden wird und was nicht, was zur Verfügung steht und was nicht. Somit ist der Compiler nicht in der Lage, einen Find-ich-nicht-Fehler zu erzeugen.

das ist ja bei Java erstmal nicht anders, ich kann z.B. mit Class.forName("gibtsnicht") eine Klasse zur Laufzeit laden, darauf reagiert dann der Compiler auch nicht, sondern ich muss mich selber um ClassNotFoundException etc. kümmern. Aber für alles, was zur Compile-Zeit feststeht, wird die Anwesenheit geprüft.

Und eigentlich sollte ich weniger verwundert darüber sein, Python macht es genauso wie PHP.

mfg
Woodfighter