Moin!
Anscheinend muss man $m in der Methode bla() nicht erst initialisieren?
Ich kenne das aus Java und da kriegt man Fehler geschmissen. Ist es dann die korrekte Art die Initialisierung wegzulassen?
Nein, das ist nicht korrekt.
Erstens: Du kriegst von PHP dazu auch Meckerei, allerdings nur in Form einer Notice (sofern du sie nicht abgeschaltet hast). Das heißt also, dass PHP das zwar nicht schön findet, aber trotzdem weitermacht.
Aber zweitens: Solche Notices kommen ja nicht ohne Grund. Wenn man pauschal nie seine Variablen initialisiert, dann kann man sich vor Notices nicht mehr retten, und muss sie gezwungenermaßen ignorieren, aber der ordentliche Programmierer initialisiert seine Variablen. Und dann sind solche Notices eine wertvolle Debugginghilfe, denn eine nicht initialisierte Variable kann dann eigentlich nur einen Tippfehler im Variablennamen bedeuten.
Und drittens: Notices zu generieren ist nicht kostenlos. Es kostet Performance. Also selbst wenn man gegen das Ordnungsargument aus Punkt 2 immun ist, schadet man sich im Hinblick auf die Ausführungsgeschwindigkeit.
Und ja, nicht initialisierte Variablen haben den Wert "NULL".
- Sven Rautenberg