


Schauen Sie sich zuerst Themose an, einen Rahmen für WordPress -Entwickler
Themose: Ein moderner Ansatz zur WordPress -Entwicklung
Meine Verachtung für WordPress's Tangled Codebase ist bekannt. Ich empfehle von seiner Verwendung, es sei denn, Sie sind technisch kompetent. Meine Kritik beruht jedoch auf den Wunsch nach Verbesserung - eine Hoffnung, dass eine überlegene Alternative auftauchen wird und einen logischeren und effizienteren Entwicklungsprozess bietet. Jeder Versuch, WordPress zu optimieren, ist meiner Ansicht nach ein positiver Schritt.
Vor kurzem tauchte ein Projekt namens Thesise auf und wurde als "Rahmen für WordPress -Entwickler" in Rechnung gestellt. Dieser Artikel untersucht die Themense, ihre Verwendung und untersucht sein Beispielprojekt - eine Buchhandelsanwendung.
Schlüsselhighlights:
- Themose ist ein neuartiges Projekt, das als Rahmen für WordPress -Entwickler ausgelegt ist, das die Entwicklung vereinfachen und der chaotischen Plugin -Architektur von WordPress Struktur auferlegt.
- Im Gegensatz zu herkömmlichen Rahmenbedingungen fungiert die Themen als API, die sich in WordPress integriert, um die Entwicklung zu verbessern. Es ermöglicht Entwicklern, WordPress -Komponenten mit modernen PHP -Funktionen (Namespaces, Klassen, anonymen Funktionen) und Komponisten zu erstellen. Die Installation der
- -TheSose basiert auf Composer und dem WordPress-Befehlszeilen-Tool. Der Komponist erstellt ein Themoseprojekt, das automatisch die neueste WordPress -Version enthält. Ein Standard -WordPress -Installationsskript vervollständigt das Setup. Die
- -Themen stammt noch in den frühen Stadien (Version 1.0 ausstehend). Trotz seiner Jugend ist es vielversprechend, bessere Designpraktiken innerhalb des PHP -Ökosystems zu fördern, selbst innerhalb der Einschränkungen des Kerns von WordPress.
Verständnis der Themen
Der Begriff "Framework" könnte für PHP -Entwickler irreführend sein. WordPress enthält bereits zahlreiche unnötige Komponenten. Frameworks halten sich in der Regel an minimalistische Prinzipien und entkoppelte Komponenten, wobei komplexe Anwendungen aufgebaut sind - nicht umgekehrt.
Themose ist kein Rahmen im traditionellen Sinne. Es ist eine API, die sich in WordPress integriert, um die Entwicklung zu vereinfachen, aber nicht unbedingt ihre Größe verringert. Die Theme bietet APIs zum Erstellen von WordPress -Komponenten mit modernen PHP, einschließlich Namespaces, Klassen, anonymen Funktionen und Komponistenunterstützung.
Im Wesentlichen ist die Themenosis ein mit MVC betriebenes, von LaVavel inspiriertes WordPress-Plugin, das zum Erstellen anderer Plugins verwendet wird. Es enthält eine eigene Router (Laravel-Route-Definition) und eine Templating-Engine (Scout), ähnlich wie Laravel und Phalcon, mit zusätzlicher WordPress-Unterstützung. Zum Beispiel die Vorlagenschleife:
@loop(array('post_type' => 'post', 'posts_per_page' => -1)) <h1 id="Loop-title">{{ Loop::title() }}</h1> <div> {{ Loop::content() }} </div> @endloop
verwendet die WordPress -API für das Abrufen von Daten, und die Loop
-Kläufe wurde speziell für WordPress -Inhaltsschleifen entwickelt.
Installation
Die Installation vonDie Installation von Komponisten und WordPress-Befehlszeilen umfasst. Das Erstellen eines Themoseprojekts mit Composer enthält automatisch die neueste WordPress -Version. Ein Standard -WordPress -Installationsskript schließt das Setup ab. Siehe die offiziellen Installationsanweisungen oder experimentieren Sie zuerst mit dem Beispielprojekt (siehe unten).
Beispielprojekt: Die Bookstore -App
Themose liefert ein Beispiel für Buchhandlungsanwendungen.
Testen Sie die Buchhandlungs -App
Um es zu testen, können Sie Homestead verbessert verwenden. Registrieren Sie eine neue Website mit:
@loop(array('post_type' => 'post', 'posts_per_page' => -1)) <h1 id="Loop-title">{{ Loop::title() }}</h1> <div> {{ Loop::content() }} </div> @endloop
Denken Sie daran, die bookstore.local
-Datei Ihres Hosts /etc/hosts
hinzuzufügen (gemäß dem Gehöft verbesserte Anweisungen).
klonen Sie das Repository (git clone https://www.php.cn/link/7101e4daaff4511510bbd4e6a0862fb7 themosis_example
) und greifen Sie auf die Installationsverfahren unter http://bookstore.local:8000
zu. Befolgen Sie die Anweisungen. Dieses Setup ermöglicht das Experimentieren ohne Risiko - stellt die VM einfach um, um Änderungen zurückzuversetzen.
Während das anfängliche Erscheinungsbild nicht bahnbrechend ist (jede WordPress -Site kann ähnlich konfiguriert werden), stechen zwei wichtige Beobachtungen heraus:
- Setup war bemerkenswert schnell und unkompliziert.
- Die Leistung war überraschend schnell, da die zusätzlichen Schichten von Denose auf die WordPress -API zugreifen.
Codeprüfung
Der Code des Buchhandels befindet sich auf GitHub: https://www.php.cn/link/7101e4daaff4511510bbd4e6a0862fb7 . Da die Themen ein Plugin ist, befindet sich der Code des Buchhandels in seinem Plugin -Verzeichnis:
Drei Hauptunterordner existieren: app
(mit Themse betriebene WordPress-Logik), src
(Themenosis-Quellcode-Aufhebung anderer Frameworks) und vendor
(Komponistenabhängigkeiten).
Während der Code moderne Praktiken (Namespaces, Klassen, umfassende Dokumentation) enthält, verbleiben kleinere veraltete Elemente (z. B. <?php defined('DS') or die('No direct script access.');
, Schließung von PHP -Tags).
Die Themencode wird an zwei Stellen verteilt: Routing und Präsentation befinden sich im Thema, während die Anwendungslogik im Plugin -Ordner liegt.
MVC -Struktur
Die MVC-Struktur ist gut definiert, obwohl die Fragmentierung über zwei übergeordnete Ordner verbessert werden kann. Der routes
-Fordner (ähnlich wie Laravel) verwendet eine vergleichbare Syntax. Controller werden von Ansichten getrennt und Modelle werden von Controllern verwendet, wodurch Daten an Ansichten weitergegeben werden. Ein Beispiel aus home.controller.php
:
@loop(array('post_type' => 'post', 'posts_per_page' => -1)) <h1 id="Loop-title">{{ Loop::title() }}</h1> <div> {{ Loop::content() }} </div> @endloop
Ansichten Verwenden Sie eine Punktnotation für TRAversal (z. B. pages.home
Karten zu app/views/pages/home.scout.php
).
Routing mit Parametern
Routing ist einfach. Die Suchseite verwendet beispielsweise direkt die Suchfunktionalität von WordPress:
- map: bookstore.local to: /home/vagrant/Code/themosis_example
Erstellen einer benutzerdefinierten Seite
Erstellen wir eine benutzerdefinierte Seite mit einem Controller und einer Ansicht.
fügen Sie eine Route zu
- :
- hinzu
routes.php
return View::make('pages.home')->with(array( 'promo' => Books::getPromoBook($this->page), 'books' => Books::getPopularBooks($this->bookId), 'news' => News::get(), 'newspage' => get_page_by_path('news') ));
- :
-
pages/test.scout.php
// Search page Route::is('search', function(){ return View::make('search', array('search' => $_GET['s'])); });
- ):
-
controllers/Test_Controller.php
Route::only('page', 'test', 'test@index');
/test
Die Nachricht "Hello World" macht nach dem Nachladen.
Um den Seiteninhalt einzuschließen, müssen wir auf die globale
$post
Ändern des Controllers:
und die Ansicht:
@include('header') Hello World @include('footer')
rendert die Seite richtig.
<?php class Test_Controller{ public function index(){ return View::make('pages.test'); } }
Während die leistungsstarken Wrapper zum Rendern von WordPress -Inhalten Struktur und Klarheit und Verbesserung der Steifigkeit von WordPress.
Schlussfolgerung
Themose bietet eine Laravel-ähnliche Erfahrung für die Entwicklung von WordPress-Plugin. Es führt die dringend benötigte Struktur und Kapselung in die Plugin-Architektur von WordPress ein.
Obwohl noch in den frühen Stadien (Version 0.8), ist sie ein vielversprechendes Projekt. Die Einführung guter Designpraktiken ist für die PHP -Community von entscheidender Bedeutung, und die Themensiose bietet einen wertvollen Beitrag, selbst innerhalb der Grenzen des Kerns von WordPress.
(Der häufig gestellte Fragen wurde aufgrund von Längenbeschränkungen weggelassen, kann jedoch leicht umgezogen und ähnlich wie der Rest des Textes aufgenommen werden.)
Das obige ist der detaillierte Inhalt vonSchauen Sie sich zuerst Themose an, einen Rahmen für WordPress -Entwickler. 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











Kürzlich haben wir Ihnen gezeigt, wie Sie ein personalisiertes Erlebnis für Benutzer erstellen können, indem Benutzer ihre bevorzugten Beiträge in einer personalisierten Bibliothek retten können. Sie können personalisierte Ergebnisse auf eine andere Ebene bringen, indem Sie an einigen Stellen (d. H. Begrüßungsbildschirme) ihre Namen verwenden. Glücklicherweise macht es WordPress sehr einfach, Informationen über angemeldete Benutzer zu erhalten. In diesem Artikel zeigen wir Ihnen, wie Sie Informationen zum aktuell angemeldeten Benutzer abrufen. Wir werden den Get_Currentuserinfo () verwenden; Funktion. Dies kann überall im Thema verwendet werden (Header, Fußzeile, Seitenleiste, Seitenvorlage usw.). Damit es funktioniert, muss der Benutzer angemeldet sein. Wir müssen also verwenden

Es gibt vier Möglichkeiten, die WordPress -Artikelliste anzupassen: Verwenden Sie Themenoptionen, verwenden Plugins (z. B. die Bestellung von Post -Typen, WP -Postliste, Boxy -Sachen), Code (Einstellungen in der Datei functions.php hinzufügen) oder die WordPress -Datenbank direkt ändern.

Blogs sind die ideale Plattform für Menschen, um ihre Meinungen, Meinungen und Meinungen online auszudrücken. Viele Neulinge sind bestrebt, eine eigene Website zu bauen, zögern jedoch, sich über technische Hindernisse oder Kostenprobleme zu sorgen. Da sich die Plattform jedoch weiterentwickelt, um die Fähigkeiten und Bedürfnisse von Anfängern zu erfüllen, wird sie jetzt einfacher als je zuvor. In diesem Artikel führen Sie Schritt für Schritt, wie Sie ein WordPress -Blog erstellen, von der Auswahl der Themen bis zur Verwendung von Plugins, um Sicherheit und Leistung zu verbessern und Ihnen dabei zu helfen, Ihre eigene Website problemlos zu erstellen. Wählen Sie ein Blog -Thema und eine Blog -Richtung Vor dem Kauf eines Domainnamens oder der Registrierung eines Hosts ist es am besten, die Themen zu identifizieren, die Sie abdecken möchten. Persönliche Websites können sich um Reisen, Kochen, Produktbewertungen, Musik oder jedes Hobby bewirken, das Ihre Interessen weckt. Wenn Sie sich auf Bereiche konzentrieren, an denen Sie wirklich interessiert sind, können Sie das kontinuierliche Schreiben fördern

Möchten Sie wissen, wie Sie untergeordnete Kategorien auf der Seite der übergeordneten Kategorie -Archivseite angezeigt werden? Wenn Sie eine Klassifizierungsarchivseite anpassen, müssen Sie dies möglicherweise tun, um es Ihren Besuchern nützlicher zu machen. In diesem Artikel zeigen wir Ihnen, wie Sie Kinderkategorien auf der Seite der Elternkategorie problemlos anzeigen können. Warum erscheinen Unterkategorien auf der Seite der übergeordneten Kategorie -Archiv -Seite? Indem Sie alle Kinderkategorien auf der Seite der übergeordneten Kategorie -Archiv -Seite anzeigen, können Sie sie für Besucher weniger allgemein und nützlicher machen. Wenn Sie beispielsweise einen WordPress-Blog über Bücher ausführen und eine Taxonomie namens "Thema" haben, können Sie Untertaxonomie wie "Roman", "Sachbücher" hinzufügen, damit Ihre Leser können

In der Vergangenheit haben wir geteilt, wie das Postexpirator -Plugin verwendet wird, um Beiträge in WordPress abzulehnen. Nun, beim Erstellen der Aktivitätslisten -Website fanden wir dieses Plugin sehr nützlich. Wir können abgelaufene Aktivitätslisten problemlos löschen. Zweitens ist es dank dieses Plugins auch sehr einfach, Beiträge nach Ablaufdatum zu sortieren. In diesem Artikel zeigen wir Ihnen, wie Sie Beiträge nach Ablaufdatum in WordPress sortieren. Aktualisierter Code, um Änderungen im Plugin zu reflektieren, um den benutzerdefinierten Feldnamen zu ändern. Danke Tajim, dass du uns in den Kommentaren informiert hast. In unserem spezifischen Projekt verwenden wir Ereignisse als benutzerdefinierte Post -Typen. Jetzt

Suchen Sie nach Möglichkeiten, Ihre WordPress -Website und Social -Media -Konten zu automatisieren? Mit der Automatisierung können Sie Ihre WordPress -Blog -Beiträge oder Updates automatisch auf Facebook, Twitter, LinkedIn, Instagram und mehr freigeben. In diesem Artikel zeigen wir Ihnen, wie Sie WordPress und Social Media mit IFTTT, Zapier und Uncanny Automator einfach automatisieren können. Warum WordPress und Social Media automatisieren? Automatisieren Sie Ihren WordPre

Um eine Website mit WordPress -Host zu erstellen, müssen Sie: einen zuverlässigen Hosting -Anbieter auswählen. Kaufen Sie einen Domainnamen. Richten Sie ein WordPress -Hosting -Konto ein. Wählen Sie ein Thema aus. Seiten und Artikel hinzufügen. Installieren Sie das Plug-In. Passen Sie Ihre Website an. Veröffentlichen Sie Ihre Website.

Einer unserer Benutzer hat andere Websites gefragt, wie die Anzahl der Abfragen und die Ladezeit des Seitens im Fußzeile angezeigt wird. Sie sehen dies oft in der Fußzeile Ihrer Website, und es kann so etwas wie: "64 Abfragen in 1,248 Sekunden" angezeigt. In diesem Artikel zeigen wir Ihnen, wie Sie die Anzahl der Abfragen und die Seitenladezeit in WordPress anzeigen. Fügen Sie einfach den folgenden Code ein, wo Sie in der Themendatei möchten (z. B. foote.php). Abfragen
