CodeIgniter-Controller, Views-Routing: Lernen anhand eines Beispiels
โก Intelligente Zusammenfassung
Dieser CodeDas Igniter-Beispiel erstellt eine kleine Anwendung, um zu zeigen, wie Routing, Controller und Views zusammenarbeiten. Ein neues Projekt wird mit Composer erstellt und die Routen zugeordnet. URLs werden an Controller-Methoden weitergeleitet, und jede Methode lรคdt eine Ansicht, die HTML an den Browser zurรผckgibt.

In diesem Tutorial lernen Sie die folgenden Themen kennen:
- Routing โ Das Routing ist fรผr die Beantwortung zustรคndig. URL Anfragen. Das Routing entspricht den Anfragen. URL zu den vordefinierten Routen. Falls keine passende Route gefunden wird, CodeIgniter lรถst eine โSeite nicht gefundenโ-Ausnahme aus.
- Regler Routen sind mit Controllern verknรผpft. Controller verbinden Modelle und Ansichten. Sie fordern Daten und Geschรคftslogik vom Modell an und geben die Ergebnisse in der Darstellung der Ansicht zurรผck. Sobald ein URL Wenn eine Anfrage einer Route zugeordnet wurde, wird sie an die รถffentliche Funktion eines Controllers weitergeleitet. Diese Funktion interagiert mit der Datenquelle und der Geschรคftslogik und gibt die Ansicht zurรผck, die die Ergebnisse anzeigt.
- Aufrufe โ Ansichten sind fรผr die Darstellung zustรคndig. Eine Ansicht ist in der Regel eine Kombination aus HTML, CSS und JavaDas Skript. Dieser Teil ist fรผr die Anzeige der Webseite fรผr den Benutzer zustรคndig. Die angezeigten Daten werden รผblicherweise aus der Datenbank oder einer anderen verfรผgbaren Datenquelle abgerufen.
So erstellen Sie ein neues CodeIgniter-Projekt
Wir werden Composer verwenden, um ein neues Projekt zu erstellen. Wir werden den in PHP integrierten Server nutzen, daher ist keine zusรคtzliche Software wie beispielsweise โฆ erforderlich. ApacheIn diesem Tutorial verwenden wir die Windows Da es sich um ein Standardbetriebssystem handelt, haben wir auf Laufwerk C einen Ordner namens โSitesโ erstellt. Sie kรถnnen aber auch ein anderes, fรผr Sie geeignetes Verzeichnis verwenden.
รffnen Sie die Befehlszeile oder das Terminal und fรผhren Sie folgenden Befehl aus:
cd C:\Sites
Wir werden jetzt eine erstellen CodeIgniter-Projekt mit Composer. Fรผhren Sie folgenden Befehl aus:
composer create-project CodeIgniter/framework ci-app
Hier:
- Der obige Befehl erstellt ein neues CodeIgniter-Projekt Version 3, unter Verwendung der neuesten stabilen Version (3.1.9 zum Zeitpunkt des Schreibens), in ein Verzeichnis namens ci-app.
Wenn der Befehl ausgefรผhrt wurde, sollten Sie im Terminal Ergebnisse sehen, die in etwa wie folgt aussehen:
Fรผhren Sie folgenden Befehl aus, um zum neu erstellten Projektverzeichnis ci-app zu navigieren:
cd ci-app
Starten Sie nun den in PHP integrierten Webserver:
php -S localhost:3000
Hier:
- Der obige Befehl startet den integrierten PHP-Server, der auf Port 3000 lรคuft.
รffnen Sie den Webbrowser und navigieren Sie zu folgendem Link: URL: http://localhost:3000/Sie erhalten die folgende Seite:
Wenn Sie die obige Seite sehen kรถnnen, herzlichen Glรผckwunsch, Sie haben die Installation erfolgreich abgeschlossen. CodeZรผnderDie Seite wird von der Ansicht in application/views/welcome_message.php gerendert, und der zustรคndige Controller befindet sich in application/controllers/Welcome.php.
CodeZรผnderfรผhrung
Im Moment hat unsere Anwendung nur eine einzige URLDies ist die Startseite. In diesem Abschnitt werden wir die Startseite anpassen und einige neue Elemente erstellen. URLs, die auf unterschiedliche Anfragen reagieren.
Beginnen wir mit der Route fรผr die Startseite. รffnen Sie die Routendatei unter dem folgenden Pfad:
application/config/routes.php
Sie sollten den folgenden Inhalt sehen:
$route['default_controller'] = 'welcome'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE;
Hier:
- $route['default_controller'] = 'welcome'; definiert den Standard-Controller, der auf URI-Anfragen antwortet.
- Mit `$route['404_override'] = '';` kรถnnen Sie eine benutzerdefinierte Route fรผr 404-Fehler definieren. Ein 404-Fehler tritt auf, wenn eine Seite nicht gefunden wird. CodeIgniter verfรผgt รผber eine Standardfehlerbehandlung, Sie kรถnnen aber bei Bedarf auch Ihre eigene definieren.
- $route['translate_uri_dashes'] = FALSE; ermรถglicht es Ihnen, Bindestriche in Unterstriche umzuwandeln. Wir werden diese Option besprechen, wenn wir uns mit der Funktionsweise von Routen befassen. CodeZรผnder.
Schauen wir uns nun die Controller-Methode an, die fรผr die Anzeige der Startseite zustรคndig ist, die wir beim รffnen gesehen haben. http://localhost:3000/รffnen Sie die folgende Datei:
application/controllers/Welcome.php
Sie sollten folgenden Code sehen:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } }
Hier:
- `defined('BASEPATH') OR exit('No direct script access allowed');` verhindert den direkten Zugriff auf die Controller-Klasse ohne Umweg รผber die Datei `index.php`. Im MVC-Paradigma haben alle Anfragen einen einzigen Einstiegspunkt. CodeDer Igniter ist index.php. Dieser Code blockiert alle Anfragen, die nicht รผber index.php eingehen.
- Die Klasse Welcome erweitert CI_Controller {โฆ} definiert eine Klasse Welcome, die von der รผbergeordneten Klasse CI_Controller erbt.
- public function index() definiert eine รถffentliche Funktion, die standardmรครig beim รffnen der Startseite aufgerufen wird.
- $this->load->view('welcome_message'); lรคdt die Ansicht welcome_message, die sich in application/views/welcome_message.php befindet.
Bislang haben wir nur untersucht, was standardmรครig enthalten ist. CodeIgniter. Nehmen wir nun einige รnderungen vor. Wir erstellen unsere eigene Startseite und ersetzen die Standardseite. Erstellen Sie eine neue Datei unter application/views/home.php und fรผgen Sie folgenden Code hinzu:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Hello CodeIgniter!</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css"> <script defer src="https://use.fontawesome.com/releases/v5.3.1/js/all.js"></script> </head> <body> <section class="section"> <div class="container"> <h1 class="title"> CodeIgniter Hello World </h1> </div> </section> </body> </html>
Hier: Der obige HTML-Code lรคdt das Bulma CSS-Framework und Font Awesome von einem CDN und erstellt ein sehr einfaches HTML-Dokument. Er wendet eine einfache CSS-Regel aus dem Bulma CSS-Framework an.
รffnen Sie Folgendes URL in Ihrem Browser: http://localhost:3000/. Sie sollten Folgendes sehen:
Super, wir haben die Startseite erfolgreich angepasst. Als Nรคchstes definieren wir unsere Route. Angenommen, unsere Anwendung soll auch eine โรber unsโ-Seite anzeigen.
Erstellen Sie eine Route
รffnen Sie die Routendatei application/config/routes.php und fรผgen Sie die folgende Route hinzu:
$route['about-us'] = 'welcome/about_us';
Hier:
- Wenn ein Besucher die URL /about-us, wir weisen an CodeIgniter soll nach einem Controller namens โWelcomeโ suchen und die Methode โabout_usโ ausfรผhren.
Erstellen Sie einen Controller
Definieren wir nun die Controller-Methode about_us. รffnen Sie application/controllers/Welcome.php und fรผgen Sie die folgende Methode hinzu:
public function about_us(){
$this->load->view('about_us');
}
Hier:
- Der obige Code definiert eine Funktion about_us und lรคdt eine Ansicht about_us.
Erstellen Sie eine Ansicht
Erstellen wir nun die soeben erwรคhnte Ansicht. Erstellen Sie eine neue Datei about_us.php im Verzeichnis application/views/about_us.php und fรผgen Sie folgenden Code hinzu:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>About CodeIgniter!</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css"> <script defer src="https://use.fontawesome.com/releases/v5.3.1/js/all.js"></script> </head> <body> <section class="section"> <div class="container"> <h1 class="title"> About us yap... </h1> </div> </section> </body> </html>
Wir kรถnnen loslegen. รffnen Sie Folgendes: URL in Ihrem Webbrowser: http://localhost:3000/index.php/about-usSie sehen dann die folgende Seite:
Wenn Sie die obige Seite sehen kรถnnen, herzlichen Glรผckwunsch, Sie haben erfolgreich eine einfache Anwendung erstellt in CodeZรผnder.




