CodeIgniter-Controller, Views Routing: Lernen mit Beispiel-App

In diesem Tutorial lernen Sie die folgenden Themen.

  • Routing – Routing ist für die Beantwortung von URL-Anfragen verantwortlich. Beim Routing wird die URL den vordefinierten Routen zugeordnet. Wenn keine Routenübereinstimmung gefunden wird, löst CodeIgniter eine Ausnahme aus, bei der die Seite nicht gefunden wurde.
  • Regler – Routen sind mit Controllern verknüpft. Controller kleben die Modelle und Ansichten zusammen. Die Anforderung von Daten/Geschäftslogik aus dem Modell und die Rückgabe der Ergebnisse in der Darstellung der Ansicht. Sobald eine URL 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.
  • Views – Ansichten sind für die Darstellung zuständig. Eine Ansicht ist in der Regel eine Kombination aus HTML, CSS und JavaSkript. Dieser Teil ist für die Anzeige der Webseite für den Benutzer verantwortlich. Normalerweise werden die angezeigten Daten aus der Datenbank oder anderen verfügbaren Datenquellen abgerufen.

So erstellen Sie ein neues CodeIgniter-Projekt

Wir werden Composer verwenden, um ein neues Projekt zu erstellen. Ich werde den integrierten PHP-Server verwenden, daher ist keine zusätzliche Software wie erforderlich Apache. In diesem Tutorial verwenden wir die Windows Betriebssystem. Daher haben wir auf Laufwerk C einen Sites-Ordner erstellt. Sie können jedes für Sie geeignete Verzeichnis verwenden.

Öffnen Sie die Befehlszeile/das Terminal und führen Sie den folgenden Befehl aus

cd C:\Sites

Wir werden nun mit Composer ein CodeIgniter-Projekt erstellen. Führen Sie den folgenden Befehl aus

composer create-project CodeIgniter/framework ci-app

HIER,

  • Der obige Befehl erstellt ein neues CodeIgniter-Projekt Version 3 mit der neuesten stabilen Version, also 3.1.9, in einem Verzeichnis ci-app.

Wenn der obige Befehl ausgeführt wurde, sollten Sie im Terminal Ergebnisse ähnlich den folgenden sehen können

Erstellen Sie ein neues CodeIgniter-Projekt

Führen Sie den folgenden Befehl aus, um zum neu erstellten Projektverzeichnis ci-app zu navigieren

cd ci-app

Starten wir 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 rufen Sie die folgende URL auf: http://localhost:3000/

Sie erhalten die folgende Seite

Erstellen Sie ein neues CodeIgniter-Projekt

Wenn Sie die obige Seite sehen können, dann herzlichen Glückwunsch, Sie haben die Installation erfolgreich abgeschlossen CodeIgniter.

Wie Sie der obigen Webseite entnehmen können, wird die oben angezeigte Seite von der Ansicht in application/views/welcome_message.php gerendert und der verantwortliche Controller befindet sich in application/controllers/Welcome.php

CodeIgniter-Routing

Derzeit verfügt unsere Anwendung nur über eine einzige URL, nämlich die Startseite. In diesem Abschnitt werden wir den Home-Bereich anpassen. Wir werden einige neue URLs erstellen, die auf die verschiedenen Anfragen reagieren.

Beginnen wir mit der Homepage-Route

Öffnen Sie die Routendatei wie im folgenden Pfad angegeben

application/config/routes.php

Sie sollten den folgenden Inhalt sehen können

$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

HIER,

  • $route['default_controller'] = 'willkommen'; Definiert den Standardcontroller, der auf die URI-Anfragen antwortet
  • $route['404_override'] = ”; Mit dieser Route 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 einen Standardhandler für den Fehler, Sie können jedoch bei Bedarf Ihren eigenen Handler definieren.
  • $route['translate_uri_dashes'] = FALSE; Mit dieser Option können Sie Bindestriche in Unterstriche übersetzen. Wir werden über diese Option sprechen, wenn wir uns ansehen, wie Routen in CodeIgniter funktionieren.

Schauen wir uns nun die Controller-Methode an, die für die Anzeige der Startseite verantwortlich ist, die wir beim Öffnen der URL gesehen haben http://localhost:3000/ im Webbrowser.

Öffnen Sie die folgende Datei

application/controllers/Welcome.php

Sie sollten den folgenden Code sehen können

<?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('Kein direkter Skriptzugriff erlaubt'); schützt vor dem direkten Zugriff auf die Controller-Klasse, ohne die Datei index.php zu durchlaufen. Denken Sie daran, dass im MVC-Paradigma alle Anfragen einen einzigen Einstiegspunkt haben und für CodeIgniter dessen index.php. Dieser Code blockiert alle Anfragen, die nicht über index.php eingehen
  • Klasse Welcome erweitert CI_Controller {…} definiert eine Klasse Welcome, die die übergeordnete Klasse CI_Controller erweitert
  • Die öffentliche Funktion index() definiert eine öffentliche Funktion, die standardmäßig aufgerufen wird, wenn Sie die Homepage öffnen
  • $this->load->view('welcome_message'); Diese Zeile lädt die Ansicht „Willkommensnachricht“. Die Datei Welcome_message befindet sich im Verzeichnis application/views/welcome_message.php

Bisher haben wir nur untersucht, was mit CodeIgniter standardmäßig enthalten ist. Versuchen wir nun, einige Änderungen vorzunehmen. Wir werden unsere Homepage erstellen und die Standardseite ersetzen

Erstellen Sie eine neue Datei in application/views/home.php

Fügen Sie den folgenden Code zu home.php 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 Burma SSS-Framework und die Schriftart aus dem CDN-Netzwerk und erstellt ein sehr einfaches HTML-Dokument. Es wendet eine sehr einfache CSS-Regel des Burma-CSS-Frameworks an.

Öffnen Sie die folgende URL in Ihrem Browser: http://localhost:3000/

Sie sollten Folgendes sehen können

CodeIgniter-Routing

Großartig, wir haben gerade die Startseite erfolgreich geändert. Definieren wir nun unsere Route. Nehmen wir an, unsere Anwendung muss auch in der Lage sein, die Seite „Über uns“ anzuzeigen.

Erstellen Sie eine Route

Öffnen Sie die Routendatei application/config.routes.php

Fügen Sie die folgende Route hinzu

$route['about-us'] = 'welcome/about_us';

HIER,

  • Wenn ein Besucher die URL /about-us besucht, weisen wir CodeIgniter an, nach einem Controller „Welcome“ zu suchen und die Methode about_us auszuführen.

Erstellen Sie einen Controller

Lassen Sie uns nun die Controller-Methode über uns definieren

Öffnen Sie application/controllers/Welcome.php

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

Lassen Sie uns nun die Ansicht erstellen, auf die wir gerade im obigen Abschnitt verwiesen haben

Erstellen Sie eine neue Datei about_us.php in application/views/about_us.php

Fügen Sie den 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 die folgende URL in Ihrem Webbrowser: http://localhost:3000/index.php/about-us

Sie sehen die folgende Seite

Erstellen Sie eine Ansicht in CodeIgniter

Wenn Sie die obige Seite sehen können, dann herzlichen Glückwunsch, Sie haben erfolgreich eine einfache Anwendung in CodeIgniter erstellt.

Zusammenfassung

In diesem Tutorial haben wir drei (3) Hauptkomponenten behandelt, aus denen eine CodeIgniter-Anwendung besteht. Wir haben uns mit Routen und deren Definition befasst, mit Controllern und mit der Erstellung von Methoden, die auf Routenanfragen reagieren, und haben einfache Ansichten erstellt, die an die Benutzer zurückgegeben werden, wenn diese eine Ressource anfordern.