2011-01-03 8 views
0

Ich habe etwa 30 Variablen in einem PHP-Skript hart-codiert und ich muss sie alle entfernen und sie an ihren eigenen Orten setzen. Ich frage mich, ob ich sie als Konstanten oder Globals definieren, sie in eine Klasse einordnen, sie in eine separate Datei schreiben oder etwas anderes.Wie definiert man große Mengen von Variablen korrekt in PHP?

Ich bin auch neugierig auf, wie man ein Array von Konstanten definiert.

Also, was denkst du ist der richtige Weg?

Antwort

0

ich es so tun würde, wenn das, was Sie versuchen, eine Reihe von Konstanten zu tun ist „definieren ".

$constantsToDefine = array(
    'PORT' => 80, 
    'NUMBER_OF_LEGS' => 10 
); 
foreach ($constantsToDefine as $key => $value) { 
    define(strtoupper($key), $value); 
} 
0

Es hängt völlig davon ab, was sie sind, was sie repräsentieren und was sie bedeuten. Deine Frage ist zu vage.

Sie können kein Array mit Konstanten oder eine Konstante, die ein Array ist, definieren.

+0

Dies betrachten sollte wohl ein Kommentar sein, keine Antwort ... – ircmaxell

+0

Sie Array von configure Variablen definieren können. wie $ conf ['variable_name'], etc ... –

+0

@ircmaxell: Möglicherweise so, obwohl ich einen Teil der Frage im Array von Konstanten beantwortet habe. –

0

Es hängt davon ab, was diese Variablen darstellen, wo sie verwendet werden und wie sie verwendet werden. Sind diese Variablen alle verwandt?

Soweit ein Array von Konstanten zu definieren ... ist eine Möglichkeit nur an array zu erstellen. Dieses Array wird nicht wirklich "Constant" sein, obwohl die Werte überschrieben werden können.

$constArr = array(
    "companyAddress" => "123 Fake St" , 
    "companyCity" => "Queens" , 
    "companyState" => "NY" , 
    "companyActive" => true 
); 

dann können Sie Ihre „Konstanten“ Zugang so ...

echo $constArr["companyAddress"]; 
0

In mehreren der größeren Anwendungen, die wir geschrieben haben, haben wir alle unsere „Konstante“ Variablen in einem einzigen „include“ Datei setzen und definiert sie dann die define Funktion. Dann fügen wir diese Datei nur auf allen anderen Seiten ein.

Zum Beispiel unsere Include-Datei etwas aussehen würde:

define(CONSTANT_ONE, 1); 
define(CONSTANT_TWO, TRUE); 

Dann würden wir require_once('includes.php'); an der Spitze unserer anderen Skripten.

Offensichtlich ist der Vorteil, sie alle in einer einzigen Datei zu speichern, die zentrale Steuerung.

1

konstant ist keine schlechte Idee, da es nicht

überschrieben bekommt oder können Sie parse_ini_file

+0

Wenn Sie parse_ini_file verwenden, vergessen Sie nicht, einen Cache-Mechanismus für die Ergebnisse zu verwenden (wie Zend_Cache_Frontend_File). Das Parsen einer Datei bei jeder Anfrage ist nicht der schnellste Weg, um Konstanten zu setzen. – regilero