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.
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.
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?
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.
Ein Beispiel für einen MVC-Ansatz wäre ein Kontaktformular.
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.
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.
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:
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 /";
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.
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.
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; ');
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 (); ?>
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.
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?> =$row->Titel?>
=$row->Text?>
Sie haben vielleicht bemerkt, dass wir PHP-alternative Syntax verwenden
Einsparung von Echoanweisungen.
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.