Objekte und Arrays

dragon001

New Member
ich dachte mir, nach dem es mit der Unbegrenzten ynamischen Erweiterbarkeit nciht so ganz klappt ob es möglich ist, alle Schnittstellen in einer Variable zu Transportieren.
Zum Beipsiel:

$api["db"] für die Datenbank
$api["tpl"] für die Template Engine etc


Nur als frage auf Machbarkeit
MFG
dragon
 
sry, aber was meinst Du ?

Schnittstellen transportieren ?

Man kann alles Variablen zuweisen, man kann config-Dateien erstellen, etc.
 
gemein ist, das alle Objekte im einem Array erstellt werden.
Also nicht 4 oder 5 Objekte zu haben, sondern alles in einem Array ablegen.
Ich frage eigentlich nur wegen Machbarkeit da ich letztens bei php.net nichts gefunden hab.
 
Du kannst Deine Objekte auch als serialisierten String ablegen und wenn Du magst auch ein Objektarray mit allen Objekten erstellen => serialize
 
Vielleicht solltest du bevor du mit doktern anfängst, nochmal deinen Programmaufbau überdenken.

Ich hab nicht alles von dir gelesen, aber du solltest dir mal Entwurfsmuster anschauen, insbesondere Singleton, wegen der DB und Smarty...
 
$api["db"] = Datenbank Layer
$api["tpl"] = Template Engine (Hier Smarty)
$api["email"] = Mail Schnittstelle
etc.
Hintergrund:
Diverse Schnittstelle im Kern ( 5-6).
Alle über eigene Routinen und Objekte.
Vorteil Array: Ein array = 1 Variable als Globales Object zum Transportieren für alle Module.

Ich hab es gestern abend noch probiert.
Es läuft sehr schnell und ist für meine Zwecke ausreichend.
Anmelde Daten, bzw. Konfigurations Anweisung kann man auch noch innerhalb des Arrays unter $api["settings"] Transportiert werden.
Werden aber, sobald Sie verarbeitet wurden per unset($api["settings]["<conf>"]; aus dem Array gelöscht.

Der Programm Entwurf selbst ist wohl überlegt.
Die Strucktur funktioniert bereits, und es gibt keine Überschneidungen.
Der Kern läuft stabil und schnell.
 
Die Empfehlung, möglichst keine globalen Variablen zu verwenden bleibt jedoch bestehen: Der Namensraum von Funktionen und Klassen ist wesentlich besser kontrollierbar. Es ist daher empfehlenswert, so viel Funktionalität als möglich in Funktionen oder Klassen abzulegen und dort kontrolliert Variablen als Funktionsparameter zu importieren.

Von der php-faq.de

Ich kenne deinen Code nicht, denke aber trotzdem, dass du nur versuchst Designschwächen auszubügeln...

:)
 
Es gibt ja auch keine globalen mehr.
Eben nur das eine Array.
mehr nicht.
Keine glob. Variablen für Zugangsdaten nicht.
gespeicherte Daten im Settings Subteil, werden am ende des Kernaufrufs gelöscht.
Dann sind in dem Array nur noch die Objekte abgelegt.
 
Back
Top