Alles, was Sie benötigen, um mit CodeIgniter zu beginnen

CodeIgniter ist ein Webanwendungs-Framework für PHP. Es ermöglicht Entwicklern, Webanwendungen schneller zu erstellen, und bietet viele hilfreiche Code-Bibliotheken und Helfer, die langwierige Aufgaben in PHP beschleunigen. CodeIgniter basiert auf einem modularen Design. Das bedeutet, dass Sie bestimmte Bibliotheken nach eigenem Ermessen implementieren können, was die Geschwindigkeit des Frameworks erhöht. In diesem Lernprogramm wird versucht, die Grundlagen für das Einrichten des Frameworks zu erläutern. Dazu gehört auch das Erstellen einer einfachen Hello World-Anwendung, die den MVC-Ansatz verwendet.


Warum ein Framework??

Frameworks ermöglichen eine Strukturierung in der Anwendungsentwicklung, indem wiederverwendbare Klassen und Funktionen bereitgestellt werden, die die Entwicklungszeit erheblich reduzieren können. Einige Nachteile von Frameworks sind, dass sie unerwünschte Klassen bereitstellen, indem sie Code Bloat hinzufügen, wodurch die Navigation der App schwieriger wird.


Warum CodeIgniter??

CodeIgniter ist ein sehr leichtes, leistungsfähiges Framework. Es ist zwar perfekt für einen Anfänger (weil
der kleinen Lernkurve) ist es auch ideal für große und anspruchsvolle Webanwendungen. CodeIgniter wurde von EllisLab entwickelt und ist gründlich und leicht verständlich
Dokumentation. Im Folgenden finden Sie eine Liste von Gründen, die CodeIgniter zu einem intelligenten Framework machen?

  • Geringer Platzbedarf bei außergewöhnlicher Leistung
  • MVC-Entwicklungsansatz (obwohl er sehr lose basiert, was Flexibilität ermöglicht)
  • Erzeugt suchmaschinenfreundliche saubere URLs
  • Leicht erweiterbar
  • Läuft sowohl auf PHP 4 (4.3.2+) als auch auf 5
  • Unterstützung für die meisten gängigen Datenbanken einschließlich MySQL (4.1 und höher), MySQLi, MS SQL, Postgres, Oracle und SQLite,
    und ODBC.
  • Anwendungssicherheit ist ein Schwerpunkt
  • Einfache Zwischenspeicherung
  • Viele Bibliotheken und Helfer helfen Ihnen bei komplexen Vorgängen wie E-Mail und Bildbearbeitung,
    Formularüberprüfung, Hochladen von Dateien, Sitzungen, mehrsprachige Apps und Erstellen von APIs für Ihre App
  • Die meisten Bibliotheken werden nur bei Bedarf geladen, wodurch die benötigten Ressourcen reduziert werden

Warum MVC??

Für den Anfang steht MVC für Model, View, Controller. Es ist ein Programmiermuster, das beim Entwickeln verwendet wird
Web-Apps. Dieses Muster isoliert die Benutzeroberfläche und das Backend (d. H. Datenbankinteraktion) voneinander. Erfolgreich
Die Implementierung dieses Konzepts ermöglicht es Entwicklern, ihre Benutzeroberfläche oder ihr Backend zu ändern, ohne dies zu beeinträchtigen
das andere. MVC erhöht auch die Flexibilität einer App, indem es die Möglichkeit bietet, Modelle oder Ansichten erneut zu verwenden
nochmal). Nachfolgend finden Sie eine Beschreibung von MVC.

  • Modell: Das Modell behandelt die Rohdaten- und Datenbankinteraktion und enthält Funktionen
    wie das Hinzufügen von Datensätzen zu einer Datenbank oder das Auswählen bestimmter Datenbanksätze. In CI das Modell
    Komponente ist nicht erforderlich und kann in die Steuerung aufgenommen werden.
  • Aussicht: Die Ansicht befasst sich mit der Anzeige der Daten- und Schnittstellensteuerelemente für den Benutzer mit.
    In CI kann die Ansicht eine Webseite, ein RSS-Feed, Ajax-Daten oder eine andere "Seite" sein..
  • Regler: Der Controller fungiert als Zwischenobjekt zwischen Ansicht und Modell und, wie der Name vermuten lässt,
    es steuert, was vom Modell an die Ansicht gesendet wird. In CI können auf dem Controller auch Bibliotheken und Helfer geladen werden.

Ein Beispiel für einen MVC-Ansatz wäre ein Kontaktformular.

  1. Der Benutzer interagiert mit der Ansicht, indem er ein Formular ausfüllt und absendet.
  2. Der Controller empfängt die POST-Daten aus dem Formular, der Controller sendet diese Daten an das Modell
    welche Updates in der Datenbank.
  3. Das Modell sendet dann das Ergebnis der Datenbank an die Steuerung.
  4. Dieses Ergebnis wird in der Ansicht aktualisiert und dem Benutzer angezeigt.

Das hört sich nach viel Arbeit an. Aber vertraue mir; Wenn Sie mit einer großen Anwendung arbeiten, können Sie durch die Wiederverwendung von Modellen oder Ansichten viel Zeit sparen.


Schritt 1: CodeIgniter herunterladen

Zu Beginn müssen Sie CodeIgniter herunterladen und auf Ihren Server hochladen. Zeigen Sie auf Ihren Browser
zu http://www.codeigniter.com/ und
Klicken Sie auf die große Download-Schaltfläche. Für dieses Tutorial verwenden wir Version 1.70.


Schritt 2: CodeIgniter installieren und erkunden

Nachdem Sie CodeIgniter heruntergeladen haben, müssen Sie ihn nur entpacken und den Ordner "CodeIgniter_1.7.0" in umbenennen
entweder den Namen der Anwendung oder in diesem Fall "ci" und laden Sie sie auf Ihren PHP- und MySQL-fähigen Server hoch.
Nun, da es sich auf Ihrem Server befindet, werde ich erklären, wozu alle Ordner und Dateien dienen:

  • Das System Ordner speichert alle Dateien, die CI zum Funktionieren bringen.
    • Das Anwendung Ordner ist fast identisch mit dem Inhalt der System Mappe
      Auf diese Weise kann der Benutzer Dateien haben, die für diese Anwendung spezifisch sind, z. B. wenn a
      Der Benutzer wollte nur einen Helfer in einer Anwendung laden, er würde ihn in die System / Anwendung / Helfer Mappe
      anstatt der System / Helfer Mappe.
      • Das Konfig Ordner speichert alle Konfigurationsdateien, die für die Anwendung relevant sind. Welche
        Enthält Informationen zu den Bibliotheken, die die Anwendung automatisch laden soll, sowie Datenbankdetails.
      • Das Steuerungen Ordner speichert alle Controller für die Anwendung.
      • Das Fehler Ordner speichert alle Vorlagen-Fehlerseiten für die Anwendung. Wann
        Bei einem Fehler wird die Fehlerseite aus einer dieser Vorlagen generiert.
      • Das Helfer In diesem Ordner werden alle für Ihre Anwendung spezifischen Helfer gespeichert.
      • Das Haken Ordner ist für Hooks, die die Funktionsweise der CI-Kerndateien ändern,
        Hooks sollten nur von fortgeschrittenen CI-Benutzern verwendet werden
      • Das Sprache In diesem Ordner werden Textzeilen gespeichert, die über die Sprache geladen werden können
        Bibliothek zum Erstellen mehrsprachiger Websites.
      • Das Bibliotheken Ordner speichert alle Bibliotheken, die für Ihre Anwendung spezifisch sind.
      • Das Modelle Ordner speichert alle Modelle für die Anwendung.
      • Das Ansichten Ordner speichert alle Ansichten für die Anwendung.
    • Das Zwischenspeicher Ordner speichert alle von der Cachebibliothek generierten Caches.
    • Das Codeigniter Ordner speichert alle internen Elemente, die CI zum Funktionieren bringen.
    • Das Datenbank In diesem Ordner werden alle Datenbanktreiber und -klasse gespeichert, die Sie dazu befähigen
      Verbindung zur Datenbank herstellen.
    • Das Schriftarten In diesem Ordner werden alle Schriftarten gespeichert, die von der Bildbearbeitungsbibliothek verwendet werden können.
    • Das Helfer In diesem Ordner werden alle zentralen Helfer von CI gespeichert. Sie können jedoch auch eigene Helfer platzieren
      hier, auf die alle Ihre Anwendungen zugreifen können.
    • Das Sprache In diesem Ordner werden alle zentralen Sprachdateien von CI gespeichert, deren Bibliotheken und Helfer
      benutzen. Sie können auch Ihre eigenen Sprachordner ablegen, auf die alle Ihre Anwendungen zugreifen können.
    • Das Bibliotheken In diesem Ordner werden alle zentralen Bibliotheken von CI gespeichert. Sie können jedoch auch eigene Bibliotheken anlegen
      hier, auf die alle Ihre Anwendungen zugreifen können
    • Das Protokolle Ordner speichert alle von CI generierten Protokolle.
    • Das Plugin Ordner speichert alle Plugins, die Sie verwenden können. Plugins sind fast identisch
      Für Helfer sind Plugins Funktionen, die von der Community gemeinsam genutzt werden sollen.
    • Das Gerüst Ordner speichert alle Dateien, die die Gerüstklasse zum Laufen bringen.
      Scaffolding bietet eine komfortable CRUD-ähnliche Schnittstelle für den Zugriff auf Informationen in Ihrer Datenbank
      während der Entwicklung.
  • Das Benutzerhandbuch beherbergt das Benutzerhandbuch für CI.
  • Das index.php Datei ist das Bit, das all die CI-Magie beherrscht
    Name der System und Anwendung Ordner.

Schritt 3: CodeIgniter konfigurieren

CI zum Laufen zu bringen ist ziemlich einfach. Für das meiste müssen Sie einige Einstellungen bearbeiten
Dateien.

Sie müssen das CI so einrichten, dass es auf die richtige Basis-URL der App verweist. Dazu öffnen Sie sich system / application / config / config.php und
Bearbeiten Sie das Element base_url array so, dass es auf Ihren Server und Ihren CI-Ordner zeigt.

$ config ['base_url'] = "http: // localhost / ci /";

Schritt 4: CodeIgniter testen

Wir werden einen kurzen Test durchführen, um festzustellen, ob CI ordnungsgemäß ausgeführt wird. Gehen Sie zu http: // localhost / ci / und Sie
sollte folgendes sehen.


Schritt 5: Konfigurieren des CodeIgniter Cont.

Wenn Sie fertig sind, sollten wir die Konfiguration abschließen. Wir fangen an, es speziell für unsere neue helloworld-App zu konfigurieren. Wenn Sie eine Datenbank mit Ihrer Anwendung verwenden möchten (was wir in diesem Tutorial tun.), Öffnen Sie sich system / application / config / database.php und setzen Sie die folgenden Array-Elemente auf die entsprechenden Werte. Dieser Code stellt eine Verbindung zu MySQL her
Datenbank mit dem Namen "helloworld" auf einem localhost mit dem Benutzernamen "root" und dem Kennwort "root".

$ db ['default'] ['hostname'] = "localhost"; $ db ['default'] ['username'] = "root"; $ db ['default'] ['password'] = "root"; $ db ['default'] ['database'] = "helloworld"; $ db ['default'] ['dbdriver'] = "mysql";

Da wir die Datenbank ziemlich häufig verwenden werden, möchten wir, dass sie automatisch geladen wird, damit dies nicht der Fall ist
Sie müssen es jedes Mal speziell laden, wenn wir eine Verbindung herstellen. Öffne das system / application / config / autoload.php Datei
und fügen Sie dem autoload libaries-Array "database" hinzu.

$ autoload ['libraries'] = Array ('Datenbank');

Derzeit verfügt das CI-Setup über einen Standardcontroller mit dem Namen "welcome.php". Sie finden das in der System / Anwendung / Steuerungen Mappe. Löschen Sie es für dieses Tutorial und öffnen Sie Ihr system / application / config / routes.php Datei. Ändern Sie das Standardarrayelement so, dass es auf den Controller "helloworld" zeigt.

 $ route ['default_controller'] = "Helloworld"

CI hat auch eine Ansichtsdatei, die wir nicht benötigen. Öffne die System / Anwendung / Ansicht / Mappe
und löschen Sie das welcome_message.php Datei.


Schritt 6: Erstellen Sie die Helloworld-Datenbank

Da dies nicht wirklich ein Tutorial für MySQL ist, halte ich diesen Abschnitt so kurz wie möglich. Erstellen Sie eine Datenbank namens "helloworld" und
Führen Sie das folgende SQL über phpMyAdmin (oder einen ähnlichen MySQL-Client) aus..

CREATE TABLE 'data' ('id' int (11) NOT NULL auto_increment, 'title' varchar (255) NOT NULL, 'text' text NICHT NULL, PRIMARY KEY ('id')) ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 2; INSERT in 'data' ('id', 'title', 'text') WERTE (1, 'Hello World!'), 'Lorem ipsum dolor sitzen amet, consectetur adipiscing elit. Nulla sapien eros, lacinia eu, consectetur vel, dignissim eta massa, praesente suscipit nunc vitae neque. Duis a ipsum, Nunc a erat, Praesent nec libero, Phasellus lobortis, saftig pharetra imperdiet, justo ipsum parisisis arcu, in eleifend elit nulla sit amet tellus vitae arcu at nisl sodales ultricies Etiam mi ligula, Folge, Elementum sed, vulputate in augue. Vestibulum ante ipsum primis in faucibus orci luktus und ultrices posuere cubilia Curae; ');

Schritt 7: Erstellen Sie das Helloworld-Modell

Modelle sind in CI optional, es wird jedoch als bewährte Methode betrachtet, sie zu verwenden. Sie sind nur PHP-Klassen, die enthalten
Funktionen, die mit Informationen aus der Datenbank arbeiten. Gehen
voraus und machen ein helloworld_model.php Datei
in dem System / Anwendung / Modelle Mappe.
Erstellen Sie in dieser Datei eine Helloworld_model-Klasse, ein Helloworld_model-Konstrukt und eine Funktion namens getData.

In der getData-Funktion sind wir
Verwenden Sie Active Record-Datenbankfunktionen, die die Datenbankentwicklungszeiten beim Arbeiten beschleunigen
mit CI und Datenbanken. Im Wesentlichen handelt es sich um vereinfachte Funktionen zum Erstellen von Abfragen.

db-> get ('data'); if ($ query-> num_rows ()> 0) // show_error ('Datenbank ist leer!');  else return $ query-> result (); ?>

Schritt 8: Erstellen Sie den Helloworld Controller

Lassen Sie uns einen Controller erstellen, der die Ansicht anzeigt, und das Modell laden. So, wann
Gehen Sie zur Adresse http: //localhost/ci/index.php/helloworld/ und sehen Sie die Daten aus der Datenbank.
Im Ordner System / Anwendung / Steuerungen, Erstellen Sie eine Datei namens helloworld.php.
In dieser neuen Datei erstellen wir eine Klasse, die denselben Namen wie die Datei hat.

Innerhalb dieser Klasse müssen Sie eine Funktion namens "Index" erstellen. Dies ist die Funktion, die es sein wird
wird angezeigt, wenn keine andere bereitgestellt wird - z. wenn http: //localhost/ci/index.php/helloworld/ ist
hat besucht. Wenn wir zum Beispiel eine Funktion namens foo erstellt haben, könnten wir dies als http: //localhost/ci/index.php/helloworld/foo/ finden..

Das Wichtigste ist, wie CI seine URLs strukturiert. z. B. http: //host/codeignitordirectory/index.php/class/function.

In der Controller-Indexfunktion müssen wir das Modell laden, die Datenbank abfragen und diese Abfrage übergeben
Daten zur Ansicht. Um Ressourcen in das CI zu laden, z. Bibliotheken,
Helfer, Ansichten oder Modelle verwenden wir die Lastklasse. Nachdem wir das Modell geladen haben, können wir darauf zugreifen
seinen Modellnamen und die jeweilige Funktion. Um Daten an eine Ansicht zu übergeben, müssen wir sie einem Array zuordnen
item und übergeben Sie das Array, wodurch die Array-Elemente als Variable in der View-Datei erstellt werden.

load-> model ('helloworld_model'); $ data ['result'] = $ this-> helloworld_model->Daten empfangen(); $ data ['page_title'] = "CI Hello World App!"; $ this-> load-> view ('helloworld_view', $ data); ?>

Wenn wir jetzt http: //localhost/ci/index.php/helloworld/ besuchen, würde es nicht funktionieren. Dies liegt daran, dass die Ansichtsdatei nicht vorhanden ist.


Schritt 9: Erstellen Sie die Helloworld-Ansicht

Die Ansichtsdatei ist das, was der Benutzer sieht und mit ihm interagiert, es kann sich um ein Segment einer Seite oder die gesamte Seite handeln. Sie können durch das zweite Argument ein Array von Variablen an die Ansicht übergeben
der Lastmodellfunktion. Um die Ansicht für unser Tutorial zu erstellen, erstellen Sie eine neue Datei mit dem Namen Hallo Welt_view.php in dem System / Anwendung / Ansicht Mappe. Als nächstes müssen wir nur unsere normale HTML-Datei erstellen
und Body-Elemente und dann einen Header und einen Absatz für die Informationen aus der Datenbank. Alle anzeigen
Wenn die Datensätze aus der Datenbank stammen, setzen wir sie in eine "foreach" -Schleife
was durchläuft alle Elemente.

  <?=$page_title?>    

Titel?>

Text?>


Sie haben vielleicht bemerkt, dass wir PHP-alternative Syntax verwenden
Einsparung von Echoanweisungen.


Schritt 10: Ta-da und einige Extras

Wenn Sie "http: //localhost/ci/index.php/helloworld/" besuchen, werden Sie
sollte etwas ähnliches sehen.

Aber wir sind noch nicht fertig. Es gibt einige Möglichkeiten, um Ihre CodeIgniter-Erfahrung zu verbessern -
als würde man dieses nervige index.php aus der URL entfernen. Sie können diese Aufgabe ausführen, indem Sie im Stammordner eine .htaccess-Datei erstellen und den folgenden Code hinzufügen.

RewriteEngine auf RewriteCond $ 1! ^ (Index \ .php | images | robots \ .txt) RewriteRule ^ (. *) $ Ci / index.php / $ 1 [L] 

Sie müssen auch die öffnen config.php Datei in system / anwendung / config / und bearbeiten Sie das index_page-Arrayelement in eine leere Zeichenfolge.

$ config ['index_page'] = "";

Ein weiterer raffinierter Trick besteht darin, die Fähigkeit von CI zu aktivieren, alternative Syntax von PHP zu analysieren, wenn es seine ist
nicht vom Server aktiviert. Öffnen Sie dazu die gleiche Datei wie zuvor, system / application / config / config.php, und setzen Sie das Arrayelement rewrite_short_tags auf TRUE.

$ config ['rewrite_short_tags'] = TRUE;

Ich hoffe alles läuft gut! Freuen Sie sich auf weitere CodeIgniter-Tutorials von mir in der Zukunft.

  • Abonnieren Sie den NETTUTS-RSS-Feed für mehr tägliche Webentwicklungsberichte und -artikel.