Sven Rautenberg: macht ini_set('track_errors', 1) das Script langsamer?

Beitrag lesen

Moin!

Hello,

Moin!

Ja und viel schlimmer: die kann noch nicht mal populated werden mit 'global'. Dann erscheint sie zwar im übergeordneten Scope, aber leider ohne Inhalt.

Einzige Abhilfe:

Was soll das "global" im globalen Scope machen? Superglobal gibts nicht für beliebige Variablen.

Ein lesender Zugriff auf die Variable liefert keine Notice mehr, aber ein isset() liefert false, solange noch keine Zuweisung an die Variable stattgefunden hat.

Ok, ich interpoliere mal Info:

Du willst die Variable immer existierend haben, und nicht erst beim Auftreten von Fehlern.

Deswegen nimmst du das in diesem Kontext unsinnige "global $var", weil es als Randeffekt das tut, was du willst: Es "benutzt" den Variablennamen und initialisiert mit NULL.

Ein sachlich korrekteres "$var = null" ist an dieser Stelle vermutlich zu viel verlangt. Beachte außerdem, dass "isset()" sowohl bei nichtexistenten Variablen false liefert, als auch bei Variablen, die NULL enthalten.

- Sven Rautenberg