Zend Expressive Modul Schnellentwicklungshandbuch: Erstellen von schreibgeschütztem Blog-Modul
In diesem Artikel wird einige Tipps zur Entwicklung von Zend Expressive Modul weitergeleitet, mit denen Sie schnell ein voll funktionsf?higes schreibgeschütztes Blog-Modul erstellen k?nnen. Stellen Sie sicher, dass Sie die Entwicklungsumgebung gem?? dem vorherigen Tutorial einrichten, einschlie?lich der Installation und Konfiguration von Zend Expresctive, Doctrine, Gulp und abstrakten Reflexionsfabrik (ca. 10 Minuten).
In diesem Tutorial werden wir schnell ein einfaches schreibgeschütztes Blog-Modul (Listen-Blog-Beitr?ge aus der Datenbank) erstellen, um die schnellen Entwicklungsfunktionen von Zend Expressive zu demonstrieren.
Moduleinstellungen
Führen Sie den folgenden Befehl in Ihrer ausdrucksstarken Anwendung aus:
./vendor/bin/expressive module:create Blog
generiert dies den Basiscode des Blog -Moduls und registriert ihn automatisch in Ihrer Anwendung und dem Composer Autoloader.
Lehren und Datenbanktabellen
Erstellen Sie als n?chstes die Tabelle der Blog -Entit?t und Datenbank. Zun?chst müssen wir die Anwendung wissen lassen, dass das Modul die Lehre entsetzt.
?ffnen src/Blog/src/ConfigProvider.php
und fügen Sie den folgenden Code hinzu:
public function __invoke() { return [ 'dependencies' => $this->getDependencies(), 'doctrine' => $this->getDoctrine(), 'templates' => $this->getTemplates(), ]; } public function getDoctrine(): array { return [ 'driver' => [ 'orm_default' => [ 'drivers' => [ 'Blog\Entity' => 'blog_entity', ], ], 'blog_entity' => [ 'class' => \Doctrine\ORM\Mapping\Driver\SimplifiedYamlDriver::class, 'cache' => 'array', 'paths' => [ dirname(__DIR__) . '/config/doctrine' => 'Blog\Entity', ], ], ], ]; }
Erstellen Sie die Datei src/Blog/config/doctrine
im Verzeichnis BlogPost.orm.yml
mit dem folgenden Inhalt:
--- Blog\Entity\BlogPost: type: entity table: blog_post id: id: type: integer generator: strategy: AUTO fields: title: type: string length: 255 content: type: string length: 16777215
run ./vendor/bin/doctrine orm:generate-entities src
. Da die Doktrin die Verzeichnisstruktur des PSR-4-Standards nicht unterstützt, muss src/Blog/Entity
auf src/Blog/src/Entity
verschoben werden. Führen Sie dann den folgenden Befehl aus, um die Datenbanktabelle zu erstellen:
./vendor/bin/doctrine orm:schema-tool:create
Sie k?nnen die folgende SQL -Anweisung ausführen, um die Datenbanktabelle zu füllen:
INSERT INTO expressive.blog_post VALUES (null, 'Post 1', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'), (null, 'Post 2', 'Mauris in libero laoreet, euismod lorem eget, tincidunt justo.'), (null, 'Post 3', 'Donec sed diam congue, ultrices tellus at, venenatis felis.');
Routeneinstellungen
Expressives Modul registriert keine direkten Routen. Wir müssen einen kleinen Trick verwenden, um dies zu erreichen: Erstellen Sie eine src/Blog/src/Factory/RoutesDelegator.php
-Datei mit folgenden Inhalten:
<?php namespace Blog\Factory; use Blog\Action; use Psr\Container\ContainerInterface; use Zend\Expressive\Application; class RoutesDelegator { public function __invoke(ContainerInterface $container, $serviceName, callable $callback) { $app = $callback(); include __DIR__ . '/../../config/routes.php'; return $app; } }
Fügen Sie den folgenden Code in src/Blog/src/ConfigProvider.php
's getDependencies()
Methode hinzu:
'delegators' => [ \Zend\Expressive\Application::class => [ Factory\RoutesDelegator::class, ], ],
Datei erstellen und Blog -Route hinzufügen: src/Blog/config/routes.php
<?php use Blog\Action; $app->get('/blog', Action\BlogPostListAction::class, 'blog_post_list'); $app->get('/blog/view/:blog_post_id', Action\BlogPostViewAction::class, 'blog_post_view');
Aktion und Vorlagen
Erstellen Sie als n?chstes eine Aktion, um die Routing -Anforderung zu verarbeiten und eine Vorlagendatei zu erstellen. (Die Aktion und der Vorlagencode entsprechen dem Originaltext, der hier weggelassen wird. Siehe den Originaltext.)
Zusammenfassung
Dieses Tutorial zeigt die einfache Erstellung eines schreibgeschützten Blog-Moduls mit Zend Expresctive. Mit nur wenigen Dateien und einigen Minuten Arbeit erstellen Sie eine Listenseite, auf der Artikel aus der Datenbank angezeigt werden und sich auf nachfolgende Erg?nzungen wie und /edit
vorbereiten. /delete
(Folgendes sind der ursprüngliche FAQS -Abschnitt, leicht eingestellt)
Zend Expressive schnelle Entwicklung FAQ
-
Was ist Zend ausdrucksstark? Zend Expressive ist ein PHP-basiertes Mini Middleware-Framework, das auf Zend-Stratigilit?t basiert und die PSR-7 Middleware unterstützt.
-
Wie installiere ich Zend Expressive? Verwenden Sie Komponist:
composer require zendframework/zend-expressive
-
Die Vorteile von Zend Expressive? schnelle Entwicklung, einfach und flexibel, unterstützt verschiedene Anwendungstypen (Microservices für Einzelk?rperanwendungen) und unterstützt eine Vielzahl von Routing- und Vorlagensystemen.
-
Wie erstelle ich Module in Zend Expresctive? Erstellen Sie ein neues Verzeichnis unter dem Verzeichnis
src
, einschlie?lich derConfigProvider
-Kl?ufe, und geben Sie das Modulkonfigurationsarray (einschlie?lich Abh?ngigkeiten, Routen und Vorlagen) zurück. -
Wie füge ich eine Route in Zend Expresctive hinzu? Fügen Sie einen neuen Eintrag in die Taste
ConfigProvider
des Konfigurationsarrays des Modulsroutes
hinzu. -
Wie verwendet ich Vorlagen in Zend Expresctive? Zend Expressive unterstützt eine Vielzahl von Vorlagenmotoren (Zweig, Platten, Zend -Ansicht). Fügen Sie einen Eintrag in die Taste
ConfigProvider
des Konfigurationsarrays dertemplates
-Klasse hinzu. -
Wie kann ich Fehler in Zend Expressive umgehen? Zend Expressive enth?lt Standardfehlerbehandlungen mit Middleware. Sie k?nnen benutzerdefinierte Middleware erstellen, um Fehler zu verarbeiten.
-
Wie testet ich Zend Expressive App? verwenden Sie Phpunit.
-
Wie kann ich Zend -Ausdrucksanwendungen bereitstellen? Bereitstellen Wie bei jeder anderen PHP-Anwendung k?nnen Sie Apache-, Nginx- oder PHP-integrierte Server verwenden.
-
Wo finde ich mehr Ressourcen über Zend ausdrucksstark? Zend Framework Offizielle Website, Zend Expressive Dokumentation und Zend Framework Community Forum.
Das obige ist der detaillierte Inhalt vonSchnelle Entwicklung von Zend -Ausdrucksmodulen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

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)

H?ufige Probleme und L?sungen für den variablen PHP -Umfang umfassen: 1. Die globale Variable kann innerhalb der Funktion nicht zugegriffen werden, und sie muss bei der Verwendung des globalen Schlüsselworts oder Parameters übergeben werden. 2. Die statische Variable wird statisch deklariert und nur einmal initialisiert und der Wert wird zwischen mehreren Aufrufen beibehalten. 3.. Hyperglobale Variablen wie $ _get und $ _post k?nnen direkt in jedem Bereich verwendet werden, aber Sie müssen auf eine sichere Filterung achten. 4. Die anonymen Funktionen müssen über das Schlüsselwort verwenden, und wenn Sie externe Variablen ?ndern, müssen Sie eine Referenz übergeben. Das Beherrschen dieser Regeln kann dazu beitragen, Fehler zu vermeiden und die Code -Stabilit?t zu verbessern.

Um PHP -Datei -Uploads sicher zu verarbeiten, müssen Sie die Quelle und die Type und die Eingabe des Dateinamens und des Pfades überprüfen, Serverbeschr?nkungen festlegen und Mediendateien zweimal verarbeiten. 1. überprüfen Sie die Upload -Quelle, um CSRF durch Token zu verhindern, und erkennen Sie den realen MIME -Typ über die Finfo_file mithilfe der Whitelist -Steuerung. 2. Benennen Sie die Datei in eine zuf?llige Zeichenfolge um und bestimmen Sie die Erweiterung, um sie gem?? dem Erkennungstyp in einem Verzeichnis ohne Web zu speichern. 3. Die PHP -Konfiguration begrenzt die Hochladengr??e und das tempor?re Verzeichnis Nginx/Apache verbietet den Zugriff auf das Upload -Verzeichnis. 4. Die GD -Bibliothek stellt die Bilder neu, um potenzielle b?swillige Daten zu l?schen.

Es gibt drei g?ngige Methoden für den PHP -Kommentarcode: 1. Verwenden Sie // oder #, um eine Codezeile zu blockieren, und es wird empfohlen, // zu verwenden. 2. Verwenden Sie /.../, um Codebl?cke mit mehreren Zeilen zu wickeln, die nicht verschachtelt werden k?nnen, aber gekreuzt werden k?nnen. 3.. Kombinationskenntnisse Kommentare wie die Verwendung / if () {} / Um Logikbl?cke zu steuern oder um die Effizienz mit Editor -Verknüpfungsschlüssel zu verbessern, sollten Sie auf die Schlie?ung von Symbolen achten und das Verschachteln bei der Verwendung vermeiden.

AgneeratorinphpiSamemory-effizientes WaytoiterateOverlargedatasetsByyieldingValueatimeinsteadofReturningThemallatonce.1.GeneratorsusetheyieldKeywordtoproduktenvaluesonDemand, ReducingMemoryUsage.2.TheyareusefulforfulforfulfordlingBiglopploups, Lesebiglochen, Leselungen, Lesebigs, Leselung, oder

Der Schlüssel zum Schreiben von PHP -Kommentaren liegt in der Kl?rung des Zwecks und der Spezifikationen. Kommentare sollten "Warum" und nicht "was getan" erkl?ren, um Redundanz oder zu Einfachheit zu vermeiden. 1. Verwenden Sie ein einheitliches Format wie Docblock (/*/) für Klassen- und Methodenbeschreibungen, um die Lesbarkeit und die Kompatibilit?t der Werkzeuge zu verbessern. 2. Betonen Sie die Gründe für die Logik, z. B. warum JS -Sprünge manuell ausgeben müssen. 3. Fügen Sie eine übersichtsbeschreibung vor komplexem Code hinzu, beschreiben Sie den Prozess in Schritten und helfen Sie, die Gesamtidee zu verstehen. V. Gute Anmerkungen k?nnen die Kommunikationskosten senken und die Effizienz der Code -Wartung verbessern.

Tolearnphpeffectival, startbysettingupalocalerverenVironmentusexs -LikexamppandacodeeditorikevScode.1) InstallxamppForapache, MySQL und Php.SeacodeeditorForsyntaxSupport.3) testyourscludingveliktingveliktelaThbiliodble.Neclyble.NektFile

In PHP k?nnen Sie quadratische Klammern oder lockige Klammern verwenden, um Zeichenfolgenspezifikationsspezifische Indexzeichen zu erhalten, aber quadratische Klammern werden empfohlen. Der Index startet von 0 und der Zugriff au?erhalb des Bereichs gibt einen Nullwert zurück und kann keinen Wert zugewiesen; MB_SUBSTR ist erforderlich, um Multi-Byte-Zeichen zu verarbeiten. Zum Beispiel: $ str = "Hallo"; echo $ str [0]; Ausgabe H; und chinesische Zeichen wie Mb_Substr ($ str, 1,1) müssen das richtige Ergebnis erzielen. In den tats?chlichen Anwendungen sollte die L?nge der Zeichenfolge vor dem Schleifen überprüft werden, dynamische Zeichenfolgen müssen für die Gültigkeit verifiziert werden, und mehrsprachige Projekte empfehlen, Multi-Byte-Sicherheitsfunktionen einheitlich zu verwenden.

Toinstallphpquickly, usexampponwindowsorhomebrewonmacos.1.onwindows, download undInstallxampp, SelectComponents, Startapache und PlaceFilesinhtdocscs.2.Anternativ, manuellinstallphpfrfr
