PHP Private variable zugreifen vom Kind

so, ich bin versuchen zu arbeiten, eine Frage, die ich habe, in der Gestaltung von PHP-Klassen. Ich habe eine Basisklasse, die von privaten Variablen zugewiesen. Ich habe Kind-Klassen, die Erweiterung dieser Basis-Klasse, die Referenz und änderungen diese privaten Variablen durch Funktionen des Basis-Klasse. Hier ist ein Beispiel, halten Sie im Verstand ich bin immer noch verwirrt über den Unterschied zwischen private und protected Methoden/Variablen (lassen Sie mich wissen, wenn ich Tue, falsch!):

base.class.php

<?php
class Base {
    private $test;
    public function __construct(){
        require('sub.class.php');
        $sub = new Sub;
        echo($this->getTest());
    }
    public function getTest(){
        return $this->test;
    }
    protected function setTest($value){
        $this->test = $value;
    }
}
?>

sub.class.php

<?php
class Sub extends Base {
    public function __construct(){
        parent::setTest('hello!');
    }
}
?>

So würde ich erwarten, dass das Ergebnis hello! gedruckt auf dem Bildschirm - statt dessen gibt es nichts. Es könnte ein grundlegendes Missverständnis von Klassen auf mein Teil, oder vielleicht bin ich auch nur etwas falsch. Jede Beratung wird sehr geschätzt! Danke.

EDIT:

Danke an alle, die dazu beigetragen, eine Antwort - ich denke, trotz der guten Lösungen, die Kind-Klassen sind eigentlich nicht das, was ich brauche - es scheint delegate-Klassen sinnvoller sein, an dieser Stelle, da ich nicht wirklich brauchen, um die Referenz der Basis-Funktionen aus den anderen Klassen.

versuchen echo($sub->getTest());
Versuchen Sie PHP5 OOP.
Es gibt keine echo oder print Ausgabe etwas auf dem Bildschirm
Das funktioniert... Aber, dass das möglicherweise nicht praktikabel für meine Zwecke.
So haben Sie erfüllt, php-Erweiterung runkit, es erlaubt Sie, etwas zu ändern/jede Immobilie, egal ob privat, zur Laufzeit

InformationsquelleAutor iLoch | 2012-05-31

Schreibe einen Kommentar