2012-05-08 9 views
10

Ich möchte eine saubere Möglichkeit der Definition von Anwendungskonstanten in Codeigniter kennen. Ich möchte keine native Datei von Codeigniter ändern. Daher möchte ich es nicht in application/config/constants.php definieren, als wenn ich auf neuere Version von Code-Igniter migrieren muss, werde ich nicht in der Lage sein, die nativen Dateien von codeigniter direkt zu kopieren.Definieren von Anwendungskonstanten in Codeigniter

Ich habe eine Datei application/config/my_constants.php erstellt und meine Konstanten dort definiert. 'define (' APP_VERSION ',' 1.0.0 ');'

lud ich es $this->load->config('my_constants');

verwenden, aber ich bin immer einen Fehler

Your application/config/dv_constants.php file does not appear to contain a valid configuration array.

Bitte empfehlen Sie mir eine saubere Art und Weise auf Anwendungsebene Konstanten in Code-Zünder zu definieren.

+0

Bitte folgen Sie der Anleitung wird es Ihnen helfen http://codeigniter.com/user_guide/libraries/config.html –

+0

Es ist nicht sehr nützlich, denn, wie es in der Anleitung sagt, wird Codeigniter Ihre Datei in die Konstanten-Array zusammenführen , so erhalten Sie das gleiche Ergebnis und öffnen eine weitere Datei als üblich, also wird es langsamer. – Patroklo

+4

Alle Dateien in Anwendungsordnern müssen bearbeitet werden. Ändern Sie einfach nichts im Systemordner. – Broncha

Antwort

31

Nicht verwenden application/config/constants.php ist Unsinn! Das ist die einzige Stelle Sie sollte setzen Sie Ihre Konstanten. Ändern Sie nicht die Dateien in system, wenn Sie sich Sorgen über ein Upgrade machen.

+1

Der Grund, warum ich die Verwendung von 'application/config/constants.php' für meine benutzerdefinierten Anwendungskonstanten vermeide, ist, dass ich meine benutzerdefinierten Anwendungskonstanten von der definierten Konstante" General Code-Igniter "getrennt halten möchte. Ich behalte meine benutzerdefinierten Konfigurationsparameter in einer separaten Datei 'application/config/my_config.php' und vermische sie nicht mit' application/config/config.php' In derselben Zeile wollte ich meine benutzerdefinierten Anwendungskonstanten behalten in separater Datei. Für jetzt benutze ich 'application/config/constants.php', um meine Konstanten zu definieren. Danke für deine Antwort. – piyush

+4

Sie können 'once' my_constants.php 'aus constants.php einschließen, um diese Dateien getrennt zu halten. –

2

Statt define() zu verwenden, Ihre my_constants.php Datei wie folgt aussehen sollte:

$config['app_version'] = '1.0.0'; 

Seien Sie vorsichtig wenn die Array-Schlüssel mit der Benennung, Sie wollen nicht mit irgendetwas in Konflikt geraten.

Wenn Sie define() verwenden müssen, würde ich vorschlagen, es in der Hauptdatei index.php zu tun, obwohl Sie immer noch APP_VERSION verwenden müssen, um den Wert zu erhalten.

0
config file (system/application/config/config.php) to set configuration related variables. 

    Or use 

    constant file (system/application/config/constants.php) to store site preference constants. 


    ======================= 
    DEFINE WHAT YOU WANT 
    ======================= 
    $config['index_page'] = 'home'; 
    $config['BASEPATH'] = 'PATH TO YOUR HOST'; 
0

Bitte beachten Sie folgendes:

http://ellislab.com/forums/viewthread/56981/

Variable definieren Konstanten in zu & Mehrwert auf Array

$ORDER_STATUS = array('0'=>'In Progress','1'=>'On Hold','2' 
       =>'Awaiting Review','3'=>'Completed','4' 
       =>'Refund Requested','5'=>'Refunded'); 
2

nur eine vollständige Antwort. (Keine der Antworten zeigen, wie die Konstanten zu verwenden, die deklariert wurden)

Der Prozess ist einfach:

  1. eine Konstante definieren. Öffnen config/constants.php und fügen Sie die folgende Zeile ein:

    define('SITE_CREATOR', 'John Doe')

  2. verwenden diese Konstante in einer anderen Datei mit:

    $myVar = 'This site was created by '.SITE_CREATOR.' Check out my GitHub Profile'

0

Sie Ihr Ziel durch Hinzufügen von Konstanten zu Ihrer eigenen Konfiguration erreichen können Datei wie my_config.php.

Sie würden diese Datei im Ordner application/config speichern, so: application/config/my_config.php.

Es ist sehr üblich, für jede Anwendung, die Sie schreiben, eine separate Konfigurationsdatei zu haben, damit diese von anderen CI-Programmierern leicht zu pflegen und zu verstehen ist.

Sie können CI anweisen, diese Datei automatisch zu laden, oder Sie können sie bei Bedarf manuell laden. Siehe CI-Handbuch zu "Config-Klasse".