Fehler: PHP kann auf geschützte Eigenschaften nicht zugreifen

Lesezeit: 1 Minute

Benutzer-Avatar
ozboy

Ich kann daran nichts falsch sehen, aber ich sehe die obige Ausnahme gelegentlich in den Protokollen. Was ist los?

Schwerwiegender PHP-Fehler: Zugriff auf die geschützte Eigenschaft Exception::$message in /web/index.php in Zeile 23 nicht möglich

In Zeile 23 habe ich,

echo '<?xml version=\'1.0\'?><error-response status="error">
<message><![CDATA['.$e->message.']]></message>
</error-response>';

Benutzer-Avatar
Karl-Bjørnar Øie

Verwenden $e->getMessage() Anstatt von $e->message weil die Nachricht ein geschütztes Eigentum ist 🙂

  • Danke für die schnelle Antwort. Ich werde das ausprobieren

    – Ozzboy

    10. Juni 2011 um 14:03 Uhr

  • Das hat in meinem TYPO3-Extbase-Projekt perfekt funktioniert, außer ich habe es verwendet $this->user->getUsergroup(). Das Getter-Setter-Prinzip – ich beginne es zu verstehen.

    – Mateng

    13. Juni 2013 um 18:29 Uhr


  • Ärgerlich mit $e->getMessage() bei meiner Ausnahme führt zu einem Fehler beim Aufrufen einer undefinierten Funktion aus meinem Try-Catch-Block :/

    – Douglas Gaskell

    28. April 2017 um 18:50 Uhr

$message ist ein geschützt Mitglied der Klasse Exception, wie die Fehlermeldung besagt. Sie möchten den öffentlichen Accessor getMessage:

$e->getMessage()

  • Danke für die schnelle Antwort. Ich werde das ausprobieren.

    – Ozzboy

    10. Juni 2011 um 14:03 Uhr

Benutzer-Avatar
RaviRokkam

Auf als geschützt deklarierte Member kann nur innerhalb der Klasse selbst und von geerbten und übergeordneten Klassen zugegriffen werden.

class MyClass {
    public $public="Public";
    protected $protected = 'Protected';
    private $private="Private";

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj = new MyClass();
echo $obj->public; // Works
echo $obj->protected; // Fatal Error
echo $obj->private; // Fatal Error
$obj->printHello(); // Shows Public, Protected and Private

Sie können mehr vertiefen Sichtbarkeit der Immobilie hier

1283750cookie-checkFehler: PHP kann auf geschützte Eigenschaften nicht zugreifen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy