PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] Programmier-Stil



freddymc
05.02.2006, 14:06
Hi There!

Ich frage mich ob ich in Dateien die bereits von index.php inkludiert sind, wiederum weitere Dateien inkludieren soll:

index.php inkludiert
--->data.php inkludiert wiederum
--------------------> data2.php

Dies habe ich deshalb immer so gemacht weil data2.php z.B. immer nur von data.php benötigt wird, deshalb wird es auch nur an entsprechender Stelle eingebunden.

Doch jetzt memmt natürlich php Eclipse rum weil die Dateien in versch. Ordnern liegen und die include anweisungen in data.php nicht stimmen (können). Schließlich wird data2.php nur dann richtig inkludiert wenn data.php zuvor von index.php inkludiert wurde.
Hoffentlich seit ihr jetzt nicht total verwirrt. ?(

Inkludiert immer gleich alle Dateien des Projektes am Anfang, oder nur dort wo sie benötigt werden?
Kann man php Eclipse irgendwie beibringen, diese Situation nicht als Fehler zu erkennen?

hex
05.02.2006, 15:30
Also includes gehören normal immer an den Anfang eines Dokuments. Ist ja bei
C/C++ und vielen Programmiersprachen auch so ;)

Ich würde mir lieber mal noch Gedanken über den Sinn einer 2. include Datei in
data.php machen. Wird data2.php NUR in data.php gebraucht kannst sie auch
da gleich reinschreiben.

Ich sehe den Vorteil von includes in php eher so, dass man oft verwendete Funktionen
wie z.B. Datenbank-Verbindungsaufbau bequem per include einbinden kann und
nicht in jeder Datei, wo ein Verbindungsaufbau benötigt wird neu schreiben oder
einfügen muss!

Ich hoffe ich habe deinen Sachverhalt richtig verstanden und konnte evtl. weiterhelfen ;)


mfg hex

freddymc
05.02.2006, 15:50
Verstanden hast du alles ;)


Ich würde mir lieber mal noch Gedanken über den Sinn einer 2. include Datei in
data.php machen. Wird data2.php NUR in data.php gebraucht kannst sie auch
da gleich reinschreiben.

Da könntest du recht haben, allerdings will ich eine gewisse Ordnung waren...
Es geht mir eben darum nicht alles in einer Datei stehen zu haben...
Vllt. sollte ich mich da umgewöhnen oder?

MfG,
Fred

hex
05.02.2006, 16:07
Also die Sache mit den includes ist an sich schon eine gute Sache und auch
sinnvoll. Aber wie schon gesagt würde ich es nicht übertreiben. Wenn du schon
im voraus weißt, dass du die include Datei nur in der Datei brauchst, dann schreib
den Inhalt einfach in die Datei und schau, dass du durch sinnvoll gesetzte
Kommentare eine Ordnung in deinen Quelltext bringst. :)

mfg hex

factorx
05.02.2006, 16:27
Habe auch noch eine Frage zum Thema Programmier-Stil im PHP.

Ich sehe nämlich häufig in fremden Scripts, in denen es Variablen zur Konfiguration (z.B. sowas wie Username und Passwort bei PhpMyAdmin) gibt, dass viele lieber ein assoziatives Array verwenden, um die Werte zu speichern, statt einfach neue Variablen zu nehmen.

Beispiel:


$mysql_settings = array(
"username" => "test",
"password" => "123456"
);

statt


$mysql_username = "test";
$mysql_password = "123456";

Wieso macht man das? Ist die erste Lösung performanter, oder macht man es der Übersicht halber? Oder was ist der Grund?

monarch
05.02.2006, 22:52
Reine Faulheit. Du musst dann nur die mysql_settings via post/get/session durch die Gegend ziehen und nicht mehrere Einzelvariablen. Performanceunterschiede liegen bei solchen Kleinigkeiten wahrscheinlich im Mikrosekundenbereich.

Zu der inkludier-Geschichte am Anfang: Meine Erfahrung in PHP liegt ein paar Jahre zurück, aber ich bin immer bei 2 Dingen gelandent:
Entweder du kannst deine Sachen logisch sinnvoll auf höchstens 2, 3 Dateien verteilen und die werden dann am Anfang inkludiert wenn du sie brauchst.
Oder aber das Teil ist größer, dann hab ich ne weiter gefasste Struktur gebaut. Bei mir warens Klassen, also wenn ich was brauche hab ich immer angecheckt ob es schon da ist, wenn nicht hab ichs inkludiert. Ohne die Checks bin ich wahnsinnig geworden mit Schleifen in den Includes.

MadJoe
05.02.2006, 23:27
Ohne die Checks bin ich wahnsinnig geworden mit Schleifen in den Includes.

hmm, also ich finde require_once ist doch eine schöne lösung, ich persönlich würd sowieso nichts anderes zum inkludieren verwenden, da kann dir das mit der mehrfach inkludierung gar nicht mehr passieren

mfg joe

gruber99
07.02.2006, 13:32
vielleicht solltes du dir auch mal eine Art Framework (z.B.: smarty.php.net, phpcms.de) ansehen - dort kannst du nämlich eine Seite im Baukasten-Prinzip "zusmmensetzen" und verlierst nicht so leicht den Überblick - das lohnt sich aber nur bei größeren Seiten ....