Hallo Leute ich habe mal wieder ein Problem
Ich habe mir eine Registry Klasse erstellt und möchte die dort gespeicherten werte gerne in anderen Klassen weiterverwenden.
Ich komme nur nicht an die werte dran in Klasse 2.
Kann mir bitte wer sagen wo mein Fehler ist.
Danke und Gruß
Harry
Ich habe mir eine Registry Klasse erstellt und möchte die dort gespeicherten werte gerne in anderen Klassen weiterverwenden.
Ich komme nur nicht an die werte dran in Klasse 2.
Kann mir bitte wer sagen wo mein Fehler ist.
PHP:
<?php
error_reporting(-1);
ini_set('display_errors', TRUE);
class Registry {
// Statische Variable, um die aktuelle als einzige Instanz dieser Klasse zu haben
protected static $_instance = null;
// Die Variabel festlegen
protected $vars = array();
// Falls die Instanz noch nicht existiert, erstelle sie und gebe die Instanz dann zurück
public static function getInstance()
{
if (self::$_instance === null)
{
self::$_instance = new self;
}
return self::$_instance;
}
// Kopieren der Instanz von aussen verbieten
protected function __clone() {}
// Metode zum anlegen von Objekten
function __set($key, $value)
{
//Ordnet eine Variable einem bestimmten Schlüssel zu
$this->vars[$key] = $value;
}
// Metode zum ausgeben von Objekten
function __get($value)
{
// wenn es den Key gibt
if( isset( $this->vars[$value] ) )
{
// ausgeben der Variabel
return( $this->vars[$value] );
} else {
// augeben von NULL // TODO Fehler abfangen
return( NULL );
}
}
}
?>
<?php
class zum_Testen
{
private $neue_klasse = null;
public function __construct(Registry $neue_klasse)
{
$this->neue_klasse = $neue_klasse;
}
// nur um zu Testen ob ich auf den gespeicherten wert zugreifen kann
function test()
{
echo $this->neue_klasse->beispiel;
}
}
?>
<?php
$test = new Registry();
$test->beispiel = "geht";
echo $test->beispiel; // Das geht
echo "</br></br></br>";
$test = new zum_Testen(new Registry);
$test->test();
?>
Danke und Gruß
Harry
Zuletzt bearbeitet von einem Moderator: