Mailinglisten-Archive |
Hi Liste,
ich bin gerade etwas am gruebeln hinsichtlich der Verschachtelung von
einigen Klassen. Habe mir dazu schon den Artikel OOP mit PHP4 - Klassen
in Klassen von Olaf Waltersdorf beim PHP-Center angeschaut, doch hilft
der mir nicht komplett weiter.
Ich habe mehrere verschiedene Klassen, u.a. fuer die MySQL Datenbank,
fuer Templates und Caching, fuer den generellen Seitenaufbau, fuer
Userverwaltung, Forum, Gaestebuch, CMS, etc. Einige der Klassen sind
Basisklassen und werden oefter wieder verwendet, z.B. die DB Klasse
oder die Template Klasse.
Wenn man nun von einer Klasse auf die Funktionen und Werte einer
anderen Klasse zugreifen moechte, ist es da schlau, die anderen Klassen
innerhalb der Klasse global verfuegbar zu machen? Oder sollte man dies
besser sein lassen? Wenn ja, warum und wieso.
===========================================================
Beispiel 1:
===========================================================
class User
{
var $db;
function User
{
$this->db = new Database;
}
function get_user_data()
{
$this->db->db_select("SELECT * FROM user_table");
...
}
}
$user = new User;
===========================================================
Beispiel 2:
===========================================================
class User
{
function User
{
global $db
}
function get_user_data()
{
$db->db_select("SELECT * FROM user_table")
...
}
}
$db = new Database;
$user = new User;
===========================================================
Beispiel 3:
===========================================================
class User
{
var $db;
function User
{
$this->db = $GLOBALS[ "db" ];
}
function get_user_data()
{
$this->db->db_select("SELECT * FROM user_table")
...
}
}
$db = new Database;
$user = new User;
==================================
Welches der drei Beispiele wuerdet ihr bevorzugen? Bin fuer jede
Anregung dankbar.
Danke und Gruss,
Ralf
P.S. habe noch nicht alle drei Beispiele ausprobiert, lediglich mit dem
Beispiel 1 etwas herumexperimentiert...
--
__________________________________________
In-Greece.de - die Griechenlandcommunity
_______ http://www.in-greece.de/ _________
php::bar PHP Wiki - Listenarchive