Lithium -Framework: Erste Schritte
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); }
(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!

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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

PHP wird in E-Commerce, Content Management Systems und API-Entwicklung häufig verwendet. 1) E-Commerce: Wird für die Einkaufswagenfunktion und Zahlungsabwicklung verwendet. 2) Content -Management -System: Wird für die Erzeugung der dynamischen Inhalte und die Benutzerverwaltung verwendet. 3) API -Entwicklung: Wird für die erholsame API -Entwicklung und die API -Sicherheit verwendet. Durch Leistungsoptimierung und Best Practices werden die Effizienz und Wartbarkeit von PHP -Anwendungen verbessert.

PHP -Typ -Eingabeaufforderungen zur Verbesserung der Codequalität und der Lesbarkeit. 1) Tipps zum Skalartyp: Da Php7.0 in den Funktionsparametern wie int, float usw. angegeben werden dürfen. 3) Eingabeaufforderung für Gewerkschaftstyp: Da Php8.0 in Funktionsparametern oder Rückgabetypen angegeben werden dürfen. 4) Nullierstyp Eingabeaufforderung: Ermöglicht die Einbeziehung von Nullwerten und Handlungsfunktionen, die Nullwerte zurückgeben können.

PHP ist immer noch dynamisch und nimmt immer noch eine wichtige Position im Bereich der modernen Programmierung ein. 1) Einfachheit und leistungsstarke Unterstützung von PHP machen es in der Webentwicklung weit verbreitet. 2) Seine Flexibilität und Stabilität machen es ausstehend bei der Behandlung von Webformularen, Datenbankoperationen und Dateiverarbeitung; 3) PHP entwickelt sich ständig weiter und optimiert, geeignet für Anfänger und erfahrene Entwickler.

PHP eignet sich für die Webentwicklung, insbesondere für die schnelle Entwicklung und Verarbeitung dynamischer Inhalte, ist jedoch nicht gut in Anwendungen auf Datenwissenschaft und Unternehmensebene. Im Vergleich zu Python hat PHP mehr Vorteile in der Webentwicklung, ist aber nicht so gut wie Python im Bereich der Datenwissenschaft. Im Vergleich zu Java wird PHP in Anwendungen auf Unternehmensebene schlechter, ist jedoch flexibler in der Webentwicklung. Im Vergleich zu JavaScript ist PHP in der Back-End-Entwicklung präziser, ist jedoch in der Front-End-Entwicklung nicht so gut wie JavaScript.

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.
