| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

16-02-2003, 19:33
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Meinung: Konstanten
Hi zusammen!
bin gerade dabei mein Internetdir aufzuräumen. Dabei stößt man zwangsläufig auf ein paar ältere Scripte.
Eins davon ist von nem Kollegen, der in seinem Script auch mit Konstanten (also mit define()) arbeitet. Ich hab das noch nie gemacht. Bin mit Arrays, etc bestens ausgekommen.
Jetzt wollte ich mal wissen. Macht es Sinn, Konstanten zu verwenden? Das ist doch bestimmt langsamer, oder? Und unübersichtlich ist es auch.
|

16-02-2003, 19:52
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Kommt drauf an...
Was die Geschwindigkeit angeht, kann ich dir nix zu sagen, aber wenn man es gescheit anstellt, ist es nicht unübersichtlicher.
Wenn es sich um Werte handelt, die wiederholt vorkommen, macht es ja prinzipiell Sinn den Wert einmal hinzuschreiben und die damit initialisierte Variable/Konstante einfach überall wo nötig einzusetzen.
So muss ich ja nur an einer Stelle was ändernund nicht überall in allen möglichen Skripten.
Ich denke ne Konstante hat hier gegenüber einer Variablen den Vorteil, dass ich nicht das $ am Anfang verwenden muss und so sofort sehe, dass es keine Variable is, ich den Wert also nicht ändern kann.
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

17-02-2003, 08:11
|
Abraxax
  THE REAL HAXE (Administrator)
|
|
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.621
|
|
bisher habe ich auch noch nicht mit konstanten gearbeitet. mache es quasi genau wie du. arrays und normale vars erfüllen ihren zweck genauso.
aber wie auch happy sagt, macht es sinn eine const zu definieren, die man überall verwenden kann. da sich der wert nach einer definition nicht mehr ändern lässt, wenn ich mich nicht irre, ist es sauberer als eine var. schliesslich kann man eine var noch beeinflussen und erhöht evtl. auch den schwierigkeitsgrad bei der fehlersuche.
|

17-02-2003, 08:47
|
TBT
 Moderator
|
|
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.776
|
|
wenn man sicher gehen will, das der Wert einer bestimmten Variable nicht geändert werden darf, sollte man Konstanten nehmen.
zB. die Daten für die Datenbankanbindung
ich nehme für alles andere immer ein Array $conf, wo ich all mein Zeug drin ablege.
|

17-02-2003, 09:02
|
|
Titus
PHP Master
|
|
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
|
|
Ein weiterer Vorteil von Konstanten wurde bisher nicht erwähnt:
Braucht man den Wert in einer Funktion, kann man sich dort das Einbinden per global oder $GLOBALS sparen.
Außerdem ist es ganz sinnvoll, konstante Parameter am Anfang des Skripts zu definieren; so muss man bei einer Änderung nicht das ganze Skript durchforsten - auch wenn der Wert nur einmal benutzt wird.
Obendrein sind Konstanten in PHP ja nicht 100%ig konstant, denn man kann den Wert anhand eines von Skript-Parametern bestimmen.
__________________
mein Sport:  mein Frühstück:  meine Arbeit:
Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
|

17-02-2003, 10:39
|
|
MelloPie
PHP Master
|
|
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
|
|
Ich verwende immer Konstanten wenn es angebracht ist, das heisst bei Konstanten Werten oder Werten die während einer kompletten session benutzt werden und das System steuern (keine Textelemente).
Optische Vorteile sind schon erwähnt, etc.
Im Übrigen können Konstante Parameter ein System sicherer machen gegen zB Verformung von aussen als variable.
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
|

17-02-2003, 18:58
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Sehr aufschlussreich. Danke euch!!!
Muss noch mal Nachfragen:
Zitat:
|
Obendrein sind Konstanten in PHP ja nicht 100%ig konstant, denn man kann den Wert anhand eines von Skript-Parametern bestimmen.
|
Was heißt das genau?
|

17-02-2003, 20:00
|
Abraxax
  THE REAL HAXE (Administrator)
|
|
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.621
|
|
PHP-Code:
// echte konstante.
define ("KONSTANTE", "Hallo Welt.");
// nicht so echte konstante
define ("KONSTANTE", $uebergabevariable_kann_dynamisch_sein);
|

17-02-2003, 20:06
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Achso, danke!
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|