Heim > Backend-Entwicklung > PHP-Tutorial > Analyse der CodeIgniter-Eintragsdatei

Analyse der CodeIgniter-Eintragsdatei

WBOY
Freigeben: 2016-07-29 09:14:55
Original
1315 Leute haben es durchsucht
erwähnte den grundlegenden Prozess des CI-Frameworks, und hier ist noch einmal das Flussdiagramm als Referenz:

Analyse der CodeIgniter-Eintragsdatei

Als CI-Framework Die Eintragsdatei und das Lesen des Quellcodes beginnen natürlich hier. Beim Lesen des Quellcodes werden wir ihn nicht Zeile für Zeile erklären, sondern nur die Kernfunktionen und die Implementierung.

1. Richten Sie die Anwendungsumgebung ein

<span>define</span><span>('ENVIRONMENT', 'development');</span>
Nach dem Login kopieren

Die Entwicklung hier kann ein beliebiger Umgebungsname sein (Zum Beispiel „dev“ und dann „test“). Dementsprechend müssen Sie im folgenden Switch-Case-Codeblock eine entsprechende Fehlerkontrolle durchführen. Andernfalls geht das CI-Framework davon aus, dass Sie die entsprechende Umgebung nicht konfiguriert haben, und beendet es Führen Sie den Vorgang durch und geben Sie die entsprechende Fehlermeldung aus:

<span>default</span><span>:     <span>exit</span>('The application environment is not set correctly.');</span>
Nach dem Login kopieren

Warum müssen Sie ENVIRONMENT überhaupt konfigurieren? Dies liegt daran, dass viele Komponenten im CI-Framework von der Konfiguration von ENVIRONMENT abhängen. Werfen wir einen Blick auf die Stellen, an denen ENVIRONMENT im System referenziert wird:

Analyse der CodeIgniter-Eintragsdatei
Sie Sie können sehen, dass es viele Komponenten gibt, die alle von ENVIRONMENT abhängen. Schauen Sie sich beispielsweise system/config/Common.php an. Es gibt einen Code, der die Konfigurationsdatei einführt, die wie folgt implementiert ist:

<span>if</span><span> ( ! <span>defined</span>('ENVIRONMENT') OR ! <span>file_exists</span>(<span>$file_path</span> = APPPATH.'config/'.ENVIRONMENT.'/config.php'<span>))
{
    </span><span>$file_path</span> = APPPATH.'config/config.php'<span>;
}</span></span>
Nach dem Login kopieren

Im CI-Framework werden viele Konfigurationsdateien auf diese Weise eingeführt, daher ist ENVIRONMENT für den korrekten Betrieb des CI-Frameworks erforderlich, daher muss ENVIRONMENT zu Beginn konfiguriert werden. Ein Vorteil der Einstellung ENVIRONMENT besteht darin, dass Sie die Systemkonfiguration einfach ändern können, ohne den Systemcode zu ändern. Wenn das System beispielsweise in die Testphase eintritt, wird die Datenbank als Testdatenbank konfiguriert und nach Abschluss des Systemtests wird die Datenbank auf die Online-Datenbank umgestellt. Dies ähnelt der Verwendung eines Schalters zur Steuerung der Umgebungsumschaltung des Systems, was natürlich sehr praktisch ist.

2. Konfigurieren Sie das Systemverzeichnis und das Anwendungsverzeichnis

Mit dem CI-Framework können Sie die Systemkernquelle kombinieren Code und Anwendung Der Code wird separat platziert, Sie müssen jedoch den Systemordner und den Anwendungsordner des Systems festlegen (ebenso kann der Ordnername ein beliebiger legaler Ordnername sein und muss nicht unbedingt „System“ und „Anwendung“ verwenden):

<span>$system_path</span><span> = 'system'<span>;
</span><span>$application_folder</span> = 'application';</span>
Nach dem Login kopieren

Als nächstes gibt es diesen Code:

<span>if</span><span> (<span>defined</span>('STDIN'<span>))
{
     </span><span>chdir</span>(<span>dirname</span>(<span>__FILE__</span><span>));
}</span></span>
Nach dem Login kopieren

Wozu dient dieser Code? Zunächst einmal sind STDIN, STDOUT, STDERR PHP CLI (Command Der Betrieb im Line Interface)-Modus definiert drei Konstanten. Diese drei Konstanten ähneln Shells stdin, stdout bzw. stdout im PHP-CLI-Modus Standardeingabe , Standardausgabe und Standardfehlerstrom. Mit anderen Worten: Diese drei Codezeilen sollen sicherstellen, dass das CI-Framework im Befehlszeilenmodus normal ausgeführt werden kann. Über PHP Weitere Informationen zur CLI finden Sie unter: http://www.php-cli.com/

3. Überprüfung der Systemverzeichnis-Korrektheit und Anwendungsverzeichnis-Überprüfung

(1). Die Korrektheitsprüfung des Systemverzeichnisses
Realpath gibt den absoluten Verzeichnisnamen des Verzeichnisses oder der Datei zurück (ohne das abschließende /)

<span>if</span><span> (<span>realpath</span>(<span>$system_path</span>) !== <span>FALSE</span><span>)
{
    </span><span>$system_path</span> = <span>realpath</span>(<span>$system_path</span>).'/'<span>;
}
</span><span>$system_path</span> = <span>rtrim</span>(<span>$system_path</span>, '/').'/'<span>;
</span><span>if</span> ( ! <span>is_dir</span>(<span>$system_path</span><span>))
{  
    </span><span>exit</span>("xxxxxxxx"<span>);
}</span></span>
Nach dem Login kopieren

Mehrere definierte Konstanten (die Konstante am Ende von PATH stellt den Verzeichnispfad dar und die Variable am Ende von DIR stellt den Verzeichnisnamen dar):
a. Selbst (bezieht sich hier auf die Datei index.php)
B. EXT (veraltet, aufgegeben, nicht aufpassen)
C. BASEPATH(Pfad zum Systemordner)
d.  FCPATH(Pfad zum Front-End-Controller)
e. SYSDIR(Systemverzeichnisname)
f.    APPPATH(Anwendungspfad)
Alle definierten Konstanten anzeigen Methode:

<span>Print_r</span><span>(<span>get_defined_constants</span>());</span>
Nach dem Login kopieren

Analyse der CodeIgniter-Eintragsdatei

(2) Überprüfung des Anwendungsverzeichnisses.

Der Code ist relativ einfach und erfordert nicht allzu viele Erklärungen:

<span>if</span><span> (<span>is_dir</span>(<span>$application_folder</span><span>))
{
    </span><span>define</span>('APPPATH', <span>$application_folder</span>.'/'<span>);
}
</span><span>else</span><span>
{
    </span><span>if</span> ( ! <span>is_dir</span>(BASEPATH.<span>$application_folder</span>.'/'<span>))
    {
        </span><span>exit</span>("Your application folder path does not appear to be set correctly. Please open the following file and correct this: ".<span>SELF);
    }

    </span><span>define</span>('APPPATH', BASEPATH.<span>$application_folder</span>.'/'<span>);
}</span></span>
Nach dem Login kopieren

Die letzte Zeile von die Eingabedatei, Introduce CodeIgniter.php (auch der Schlüssel zum nächsten Leseschritt). CodeIgniter.php heißt Bootstrap-Datei, was bedeutet, dass es sich um eine Bootstrap-Datei und die Kerndatei des CI-Framework-Ausführungsprozesses handelt.

<span><strong>require</strong>_once</span><span> BASEPATH.'core/CodeIgniter.php';</span>
Nach dem Login kopieren
Zusammenfassend lässt sich sagen, dass index.php keine allzu komplizierte Arbeit leistet, sondern wie eine Logistik ist und eine Reihe von Konfigurationsparametern für den Betrieb bereitstellt CI-Framework und Korrektheitsüberprüfung, und diese Konfigurationen und Überprüfungen sind der Schlüssel zum normalen Betrieb des CI-Frameworks.

Das Obige stellt die Analyse der CodeIgniter-Eintragsdatei vor, einschließlich des relevanten Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage