Hallo,
ich habe den folgenden Code einer größeren Klasse:
Bei der Verwendung der Klasse, fiel mir auf, dass trotz des Hinzufügen eines Vehicle-Objekts via addToFleet() kein entsprechender Eintrag in dem dafür vorgesehenen Array $fleet hinzugefügt worden war. Der Fehler ist natürlich ganz trivial, ich habe einfach einen falschen Variablennamen in addToFleet verwendet, nämlich $this->vehicles statt $this->fleet.
Meine Frage nun: warum gibt PHP trotz error_reporting = 4095 (E_ALL | E_STRICT) keine Fehlermeldung oder zumindest eine Warnung aus, beim Zugriff auf eine nicht definierte Objektvariable aus, wie in diesem Fall? Mit einer solchen hätte sich der Fehler relativ leicht finden lassen.
PS: Ich habe keine Überladungsmethoden definiert
ich habe den folgenden Code einer größeren Klasse:
PHP-Code:
class RentalCompany
{
protected $fleet = array();
protected $rentalActions = array();
public function addToFleet($id, Vehicle $vehicle)
{
$this->vehicles[$id] = $vehicle;
}
}
Meine Frage nun: warum gibt PHP trotz error_reporting = 4095 (E_ALL | E_STRICT) keine Fehlermeldung oder zumindest eine Warnung aus, beim Zugriff auf eine nicht definierte Objektvariable aus, wie in diesem Fall? Mit einer solchen hätte sich der Fehler relativ leicht finden lassen.
PS: Ich habe keine Überladungsmethoden definiert
Kommentar