dostęp do prywatnej zmiennej z funkcji członka w PHP

Wyprowadziłem klasę zException, zasadniczo tak:

class MyException extends Exception {

    private $_type;

    public function type() {
        return $this->_type; //line 74
    }

    public function __toString() {

        include "sometemplate.php";
        return "";

    }

}

Potem zacząłem odMyException w ten sposób:

class SpecialException extends MyException {

    private $_type = "superspecial";

}

Jeśli jathrow new SpecialException("bla") z funkcji, złap ją i idźecho $e, a później__toString funkcja powinna załadować szablon, wyświetlić go, a następnie nie zwracać niczego do echa.

W zasadzie jest to plik szablonu

<div class="<?php echo $this->type(); ?>class">

    <p> <?php echo $this->message; ?> </p>

</div>

moim zdaniem powinno to zdecydowanie działać. Jednak pojawia się następujący błąd, gdy zgłaszany jest wyjątek i próbuję go wyświetlić:

Błąd krytyczny: Nie można uzyskać dostępu do własności prywatnej SpecialException :: $ _ wpiszC: ścieżka do wyjątki.php online74

Czy ktoś może wyjaśnić, dlaczego łamam zasady tutaj? Czy robię coś strasznie dowcipnego z tym kodem? Czy istnieje dużo bardziej idiomatyczny sposób radzenia sobie z tą sytuacją? Punkt$_type zmienna jest (jak pokazano), że chcę użyć innej klasy div w zależności od typu złapanego wyjątku.

questionAnswers(6)

yourAnswerToTheQuestion