|
||||
PHP, OOP und Array Übergabe
Hallo miteinander,
eine theoretische Frage, die ich noch nicht verstehe, die mich aber sehr interessiert. Die Klasse: Code:
class ConfigPanel { public function readconfigfile(array $readconfig) { } public function showconfigfile(array $showconfig) { } public function writeconfigfile(array $writeconfig) { } } Code:
require_once("class.contactconfig.php"); $debugarray = array(); $debugconfigpanel = new ConfigPanel(); $debugarray = $debugconfigpanel->readconfigfile($debugarray); $debugarray = $debugconfigpanel->showconfigfile($debugarray); $debugarray = $debugconfigpanel->writeconfigfile($debugarray); Kann ich für alle drei Funktionen innerhalb der Klasse den gleichen Array Namen angeben? Code:
class ConfigPanel { public function readconfigfile(array $config) { } public function showconfigfile(array $config) { } public function writeconfigfile(array $config) { } } Hinweis: Zur Zeit arbeite ich mit drei verschiedenen Array Namen und es funktioniert. Ich bekomme auch keinen Fehler oder Hinweis, wenn ich mit Code:
error_reporting (E_ALL | E_STRICT); Danke
__________________
Personal stuff |
Sponsored Links |
|
||||
Ja das geht.
Du kannst ihnen den gleichen Namen geben da es Funktionsparameter sind und sie deswegen nichts miteinander zu tun haben.
__________________
David Strauß - stravid.com |
Sponsored Links |
|
||||
Danke euch beiden, das habe ich nicht gewusst.
Empfiehlt es sich allen internen Funktionen den gleichen Übergabe Parameter zu geben?
__________________
Personal stuff |
|
||||
Es empfiehlt sich logische Namen zu verwenden. Wie die heißen ist egal, ob es die selben meistens auch. Ich arbeite nicht gerne mit Klassenvariablen, die wollen so gerne initialisiert werden. Ich übergebe Parameter gerne in die Funktionen beim Aufruf. Wenn ich Objekte übergeben muss, dann kommen die in eine Klassenvariable. Aber sonst verwende ich die selten.
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade! |
|
||||
Zitat:
Ich komme bei objektorientierter Programmierung nicht ohne Klassenvariablen bzw. Attributen aus, oder verstehe ich Dich hier falsch? |
|
||||
Zitat:
Allerdings ändert sich das in regelmäßigen Abständen. Mit kleinen Projekten probiere ich immer wieder andere Wege aus, den für mich Perfekten habe ich leider noch nicht gefunden.
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade! |
|
||||
Wie machst du es denn? Wie gehst du mit Vererbung, Klassenvariablen und so weiter um?
Was überginst du eher an Klassenvariablen, was eher als Funktionsparameter? Vielleicht kann ich bei dir ja was lernen
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade! |
Sponsored Links |
|
||||
Naja, ich habe da keine bestimmte Regel oder sowas.
Ich versuche sämtliche Variablen so lokal wie möglich zu halten und sämtliche Werte, welche Konfiguration oder Resourcen oder ähnliches sind im Objekt bzw. der Klasse zu speichern. Als Beispiel hier mal die Attribute meines abstrakten Controllers: PHP-Code:
PHP-Code:
Das Request-Objekt, sowie sämtliche Controller, werden (standardmäßig) im Frontcontroller erstellt, dabei wird den Controllern die Instanz des Frontcontrollers übergeben. Nun sieht die Methode getRequest() im AbstractController folgendermaßen aus (hier vereinfacht): PHP-Code:
Im Detail wäre es wohl zu viel alles zu erklären, hier nur mal als Idee. Hier kommen imo nur Attribute in Frage, alles andere wäre unnötig kompliziert und redundant. Ein anderes Beispiel wäre meine DbTable-Klasse, wo ich ein wenig von Zend abgeschaut habe, hier habe ich die Attribute: PHP-Code:
So kann man so schön kurze, sowie unabhängige Methoden wie z.B.: PHP-Code:
PHP-Code:
PHP-Code:
Dazu sollte ich aber noch sagen, dass bei mir die Angaben zum Tabellennamen und Primärschlüssel ebensowenig im Code stehen (das habe ich hier nur kurz so gemacht), sondern per Config gesetzt werden. So kann der Primärschlüssel z.B. von "id" nach "commentId" geändert werden, die Änderung wird in der Config-Datei vorgenommen und man ist fertig. |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Ausgabe geschieht nur einmal | Benutzername | Serveradministration und serverseitige Scripte | 0 | 12.05.2011 16:59 |
wo ist OOP für php sinnvoll? | sqrack | Serveradministration und serverseitige Scripte | 5 | 12.09.2010 17:23 |
PHP OOP: Datenbankeintrag Klasse - ein paar theoretische Überlegungen | braindead | Serveradministration und serverseitige Scripte | 17 | 24.07.2009 07:29 |
PHP: zweidim. Array mit eindimensionaler Struktur in Eindim. Array umwandeln? | braindead | Serveradministration und serverseitige Scripte | 4 | 08.07.2008 14:31 |
Dateien auslagern - Include und PHP | ArcVieh | Serveradministration und serverseitige Scripte | 17 | 27.03.2008 19:09 |