Anfänger des Lithium -Frameworks: Schlüsselpunkte
- Lithium ist ein flexibles PHP-Framework, das für PHP 5.3 und höher geeignet ist und eine Modell-View-Controller-Architektur (MVC) für die Entwicklung von Webanwendungen verwendet.
- Der Controller behandelt Anfragen, die vom Anwendungsrouting -System weitergeleitet werden. Eine Ansicht ist eine Präsentationsebene, die die Geschäftslogik von der Präsentation trennt und einfache Themen des im Browser angezeigten Inhalts ermöglicht. Das Modell definiert und verarbeitet den Inhalt in der Datenbank, wodurch CRUD -Operationen (erstellen, lesen, aktualisieren, löschen) einfach erstellt werden.
- Lithium unterstützt eine Vielzahl von Datenbanken, darunter MySQL, MongoDB und CouchDB. Das Framework verfügt auch über ein leistungsstarkes Routing-System, das die Erstellung von prägnanten und suchmaschinenfreundlichen URLs ermöglicht. Die Konvention von
- Lithium macht den Einstieg einfach. Es bietet integrierte CRUD-Methoden, ermöglicht eine benutzerdefinierte Routing, unterstützt mehrere Layouts und macht sogar kleinere Elemente in der Ansicht. Diese Funktionen machen Lithium zu einem leistungsstarken Tool für die Entwicklung von Webanwendungen.
Lithium ist ein einfaches und effizientes PHP -Gerüst, das für PHP 5.3 und höher geeignet ist. Es ist so konzipiert, dass es eine gute Reihe von Tools bereitstellt, um Ihre Webanwendung zu starten, ohne zu restriktiv zu sein.
Lithium verwendet die MVC-Architektur (Modell-View-Controller), die in diesem Artikel erörtert wird. Ich werde Ihnen zeigen, wie es funktioniert und wie Sie eine Geschäfts- und Repräsentationslogik für Ihre Anwendung mit diesem Framework definieren. Wir werden die folgenden Schritte ausführen:
Wir werden einen Controller einrichten, um URL -Anfragen zu leiten. Dieser Controller verwendet das Datenmodell, um einige Informationen aus der Datenbank zu erhalten und zu verarbeiten. Diese Informationen werden dann im Browser mit der Ansicht angezeigt. All dies ist ein Standard -MVC -Prozess, aber es ist eine Freude, in Lithium auszuführen.
Ich gehe davon aus, dass das Framework auf dem Server eingerichtet ist. Zumindest können Sie die Startseite der Standardanwendung sehen, wenn Sie zur URL navigieren. Darüber hinaus benötigen Sie eine Datenbank mit einigen Informationen. Ich werde MySQL verwenden, aber Lithium unterstützt viele andere Speichersysteme wie MongoDB oder CouchDB.
Wenn Sie weiter lernen möchten, habe ich ein Git -Repository eingerichtet und Sie können es klonen. Der Master -Zweig enthält das normale Lithium -Framework, während der MVC -Zweig den Code für diesen Artikel enthält. Vergessen Sie nicht, das Lithium -Submodul zu initialisieren und zu aktualisieren. Um eine Verbindung zu Ihrer Datenbank herzustellen, kopieren Sie die Datei connections_default.php im Ordner app/config/stootstrap und benennen Sie sie in Connections.php um. Fügen Sie dann Ihre Anmeldeinformationen der Datei hinzu.
Beginnen wir an.
Daten
Bevor Sie interessante MVC -Inhalte eingeben, fügen wir eine Tabelle in der Datenbank mit einigen Informationen hinzu. Ich werde virtuelle Seitendaten verwenden, sodass meine Tabelle (benannte Seiten) eine ID-Spalte (int, automatische Inkremente und Primärschlüssel), eine Title-Spalte (VARCHAR 255), eine Inhaltsspalte (Text) und eine erstellte Spalte (Spalte (erstellt) enthält (Spalte Int). In dieser Tabelle habe ich zwei Zeilen von Beispieldaten. Wenn Sie genau die Schritte ausführen möchten, finden Sie hier die Erstellungsanweisungen der Tabelle:
CREATE TABLE `pages` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) DEFAULT NULL, `content` text, `created` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
Folgendes ist meine virtuelle Datenzeile:
INSERT INTO `pages` (`id`, `title`, `content`, `created`) VALUES (1, 'My awesome page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158745), (2, 'Some other page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158768);
Natürlich können Sie andere Daten verwenden.
c steht für Controller
Controller sind wahrscheinlich der wichtigste Teil eines MVC -Frameworks. Ihr Ziel ist es, Anfragen zu bearbeiten, die vom Anwendungsrouting -System weitergeleitet werden.
Wenn Sie sich die App/ Controller/ den Ordner der App ansehen, werden Sie feststellen, dass wir hier den Controller platzieren müssen. Erstellen wir dort eine neue Datei namens SiteController.php (jede Controller -Klasse befindet sich in ihrer eigenen Datei) und fügen Sie die folgende Klassenerklärung ein, um zu starten:
<?php namespace app\controllers; class SiteController extends \lithium\action\Controller { }
Wie Sie sehen, erweitern wir die Lithium -Basis -Controller -Klasse auf unsere eigene Klasse namens SiteController. In dieser Klasse können Sie Methoden erstellen, die die erforderliche Logik ausführen, wenn Sie von einer URL anfordern. Wir werden sehen, wie es tatsächlich später gilt, aber zuerst verstehen wir, wie Routing funktioniert.
Standardmäßig verwenden wir bei der Erstellung der URL Parameter, die dem Namen der Controller -Klasse (in diesem Fall), der Methode und den Parametern zuordnen. Wenn der Methodenname nicht übergeben wird, nimmt Lithium eine Methode mit dem Namen index () alleine an. Wenn Sie also zu http://example.com/site/ navigieren, sucht Lithium nach dieser Methode und nennt sie. Nehmen wir nun an, wir haben eine Methode namens View (), die einen Parameter ($ ID) annimmt. Die URL, die die Controller -Methode aufruft, lautet http://example.com/site/view/1, wobei die Ansicht der Name der Methode ist und 1 der an die Funktion übergebene Parameter ist. Wenn die Methode mehr Parameter erhält, trennen Sie sie einfach mit Schrägstrichen (/) in der URL., wie ich bereits erwähnt habe, ist dies das Standardverhalten. Für mehr Kontrolle können Sie Ihre eigene Route in der Datei /app/config/routes.php definieren. Ich werde nicht auf Details eingehen, aber Sie finden weitere Informationen auf der entsprechenden Dokumentationsseite.
Lassen Sie uns nun eine Seite () erstellen, die für die Anzeige einzelner Seiten aus meiner virtuellen Datenbank verantwortlich ist:
public function page() { // 模拟页面信息。 $title = 'My awesome page title'; $content = 'My awesome page content. Yes indeed.'; $created = '10 April 2014'; // 准备页面信息以传递给视图。 $data = array( 'title' => $title, 'content' => $content, 'created' => $created, ); // 将数据传递给视图。 $this->set($data); }oben simulieren wir die Datenbank -Seiteninformationen und speichern sie in einem Array. Anschließend übergeben wir dieses Array an die set () -Methode des Controllers (die wir geerbt haben) und senden sie dann an die Ansicht. Alternativ können wir das $ data -Array zurückgeben, anstatt die Methode set () zu verwenden. In beiden Fällen stellen die Schlüssel des Arrays jedoch Variablennamen dar, auf die wir dann aus der Ansichtsdatei zugreifen können. Mal sehen, wie es funktioniert.
(Der folgende Inhalt ähnelt dem Originaltext, aber die Anweisung wurde angepasst und umgeschrieben, wobei die ursprüngliche Absicht beibehält und doppelte Codeblöcke vermieden werden)
v steht für Ansicht
Ansicht ist die Präsentationsschicht des MVC -Frameworks. Sie werden verwendet, um die Geschäftslogik einer Anwendung von der Darstellung zu trennen und ein einfaches Thematik der im Browser angezeigten Inhalte zu ermöglichen.Erstellen wir eine Ansicht, um unsere Seiteninformationen anzuzeigen. In der App/ Ansicht/ dem Ordner müssen Sie einen anderen Ordner erstellen, der nach der Controller -Klasse benannt ist, die ihn verwendet (in dieser Fallstelle). In diesem Ordner müssen Sie eine nach der Methode selbst benannte Datei erstellen, wobei die Erweiterung .html.php angehängt ist. Dies ist die Konventionslithium -Namensansichten, mit denen wir sie einfach mit dem Controller anschließen können.
Für unser Beispielbeispiel befindet sich die neue Datei in App/Views/Site/page.html.php.
Fügen Sie in dieser Datei Folgendes ein:
CREATE TABLE `pages` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) DEFAULT NULL, `content` text, `created` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
Wie Sie vielleicht vermutet haben, finden Sie hier einige grundlegende Tags, bei denen wir Variablen drucken, die zum Übergeben von Arrayschlüssel vom Controller benannt werden. Lithium verwendet diese Syntax, um Variablen zu drucken, da sie sie auch über seine $ h () -Funktion ausführt, die für die Reinigung von HTML verantwortlich ist. Dies gilt jedoch nur für Druckvariablen und nicht für Eigenschaften von $ dieses Objekt.
Um zu testen, was wir bisher getan haben, navigieren Sie zu http://example.com/site/page und Sie sollten eine schöne Seite sehen, die die Simulationsinformationen zeigt. Sie werden auch feststellen, dass unsere einfache Ansicht in komplexeren Layouts (das Standardlayout, das mit dem Framework geliefert wird) dargestellt wird.
Layouts in Lithium werden verwendet, um den Inhalt mit häufig verwendeten Tags wie Titeln und Fußzeilen zu wickeln. Sie befinden sich im App/Layouts-Ordner, in dem sie die Ansicht mit $ this- & gt; content () rendern. Unsere Ansicht wird standardmäßig im Layout von Standard.html.php wiedergegeben, aber Sie können ein weiteres Layout angeben, wie Sie möchten. Sie können dies von dem Controller tun, der die Ansicht entweder als Klassenattribut für alle Methoden dieses Controllers oder in der Methode selbst, wie SO, angewendet wird:
INSERT INTO `pages` (`id`, `title`, `content`, `created`) VALUES (1, 'My awesome page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158745), (2, 'Some other page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158768);
Wir werden uns an das Standardlayout halten, weil es für unsere Demo -Zwecke gut aussieht.
m steht für Modell
Nachdem die Anforderung und die Darstellungslogik verarbeitet wurden, ist es an der Zeit, die simulierten Seitendaten durch unseren virtuellen Datenbankinhalt zu ersetzen. Wir werden Modelle verwenden, um diese Informationen abstrahieren und einfach zugreifen.
Modellklassen sind ein sehr wichtiger Bestandteil des MVC -Frameworks, da sie Inhalte in der Datenbank definieren und verarbeiten. Sie ermöglichen auch Anwendungen, um CRUD -Operationen für diese Daten einfach durchzuführen (erstellen, lesen, aktualisieren, löschen). Mal sehen, wie sie in Lithium arbeiten.
Das erste, was Sie tun müssen, ist eine Klassendatei namens Pages.php im Ordner App/Models zu erstellen und Folgendes einzufügen:
<?php namespace app\controllers; class SiteController extends \lithium\action\Controller { }
Wir haben gerade die Basismodellklasse erweitert und alle ihre Methoden verwendet. Unser Modellklassenname muss mit der Datenbanktabelle übereinstimmen, die die entsprechenden Datensätze enthält. Wenn Sie also keine Seiten sind, stellen Sie sicher, dass Sie sich entsprechend anpassen, da Lithium diese Benennung automatisch erhält, um unsere Arbeit zu vereinfachen.
Als nächstes müssen wir diese Datei in unsere Controller -Klassendatei einbeziehen. Fügen Sie also Folgendes unter die Namespace -Deklaration ein:
CREATE TABLE `pages` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) DEFAULT NULL, `content` text, `created` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
Das nächste besteht darin, den Mock -Inhalt in der Methode von Seite () zu löschen und sicherzustellen, dass diese Funktion einen $ ID -Parameter übergibt, damit wir wissen, welche Seite wir abrufen müssen. Unsere einfache Aufgabe ist es, den Seitenaufzeichnung abzufragen und die Ergebnisse an die Ansicht zu übergeben. Daher sieht die modifizierte Seite () wie folgt aus:
INSERT INTO `pages` (`id`, `title`, `content`, `created`) VALUES (1, 'My awesome page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158745), (2, 'Some other page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158768);
Wir verwenden die First () -Methode der Modell der übergeordneten Klasse, um mit Bedingungen abzufragen. Das Ergebnis ist ein Objekt, aus dem wir die Data () -Methode verwenden, um die Datensatzdaten abzurufen. Diese Daten dauern ein Array mit dem Namen der Tabellenspalte als Schlüssel. Der Rest ist der gleiche wie zuvor, außer dass wir das erstellte Feld mit der Funktion PHP Date () formatieren, da wir aus der Datenbank den Unix -Zeitstempel erhalten. Das war's.
Wenn wir zu http: example.com/site/page/1 navigieren, sollten wir eine Seite mit ID 1 sehen. Wenn wir den letzten URL -Parameter auf 2 wechseln, sollte die Seite den zweiten Datensatz laden. ordentlich.
Schlussfolgerung
In diesem Tutorial haben wir gesehen, wie einfach es ist, das Lithium -MVC -Framework zu verstehen und zu verwenden. Wir haben gelernt, wie man Controller, Ansichten und Modelle definiert und wie man sie zusammen verwendet, um einen ordentlichen und separaten Anwendungsfluss zu erstellen. Wir haben auch gesehen, wie nützlich das Lithium -Abkommen für uns war, um loszulegen. Auch wenn wir es nicht merken, werden wir unseren Datenbankinhalt abstrahieren und sie für einen einfachen Zugriff enthüllen.
Ich hoffe, Sie haben etwas gelernt und sind neugierig, tiefer mit anderen mächtigen Merkmalen einzubinden, die Lithium anbietet. Was sind einige eingebaute CRUD-Methoden? Wie kann man sie erweitern? Wie definiere ich Ihre eigenen benutzerdefinierten Routen? Wie benutzt ich mehrere Layouts, um kleinere Elemente selbst in Sicht zu rendern? Dies sind die leistungsstarken Funktionen Lithium -Angebote für unsere Webanwendungen und sind es wert.
Habe ich deine Neugier geweckt? Möchten Sie mehr über diesen hervorragenden Rahmen erfahren?
(Der FAQ -Teil ist der gleiche Originaltext, es ist keine Änderung erforderlich)
Das obige ist der detaillierte Inhalt vonLithium -Framework: Erste Schritte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Lange URLs, die oft mit Schlüsselwörtern und Tracking -Parametern überfüllt sind, können Besucher abschrecken. Ein URL -Verkürzungsskript bietet eine Lösung, die präzise Links erstellt, die ideal für soziale Medien und andere Plattformen sind. Diese Skripte sind für einzelne Websites a wertvoll

Laravel vereinfacht die Behandlung von temporären Sitzungsdaten mithilfe seiner intuitiven Flash -Methoden. Dies ist perfekt zum Anzeigen von kurzen Nachrichten, Warnungen oder Benachrichtigungen in Ihrer Anwendung. Die Daten bestehen nur für die nachfolgende Anfrage standardmäßig: $ Anfrage-

Dies ist der zweite und letzte Teil der Serie zum Aufbau einer Reaktionsanwendung mit einem Laravel-Back-End. Im ersten Teil der Serie haben wir eine erholsame API erstellt, die Laravel für eine grundlegende Produktlistenanwendung unter Verwendung von Laravel erstellt hat. In diesem Tutorial werden wir Dev sein

Laravel bietet eine kurze HTTP -Antwortsimulationssyntax und vereinfache HTTP -Interaktionstests. Dieser Ansatz reduziert die Code -Redundanz erheblich, während Ihre Testsimulation intuitiver wird. Die grundlegende Implementierung bietet eine Vielzahl von Verknüpfungen zum Antworttyp: Verwenden Sie Illuminate \ Support \ facades \ http; Http :: fake ([ 'Google.com' => 'Hallo Welt',, 'github.com' => ['foo' => 'bar'], 'Forge.laravel.com' =>

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

Die 2025 PHP Landscape Survey untersucht die aktuellen PHP -Entwicklungstrends. Es untersucht Framework -Nutzung, Bereitstellungsmethoden und Herausforderungen, die darauf abzielen, Entwicklern und Unternehmen Einblicke zu geben. Die Umfrage erwartet das Wachstum der modernen PHP -Versio

In diesem Artikel werden wir das Benachrichtigungssystem im Laravel -Web -Framework untersuchen. Mit dem Benachrichtigungssystem in Laravel können Sie Benachrichtigungen an Benutzer über verschiedene Kanäle senden. Heute werden wir diskutieren, wie Sie Benachrichtigungen OV senden können


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)
