suchen
HeimBackend-EntwicklungPHP-TutorialSchnelle Entwicklung von Zend -Ausdrucksmodulen

Rapid Development of Zend Expressive Modules

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.)

Rapid Development of Zend Expressive Modules

Die Implementierung von Erstellungs-, Bearbeitungs- und Löschfunktionen ist für Übungen reserviert.

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 der ConfigProvider -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 Moduls routes 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 der templates -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!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Wie können Sie vor SPRECTS-Angriffen (XSS) schützen?Wie können Sie vor SPRECTS-Angriffen (XSS) schützen?Apr 23, 2025 am 12:16 AM

Um die Anwendung vor Sitzungsangriffen im Zusammenhang mit den Sitzungen zu schützen, sind folgende Maßnahmen erforderlich: 1. Stellen Sie die HTTPonly- und sicheren Flags ein, um die Sitzungs Cookies zu schützen. 2. Exportcodes für alle Benutzereingaben. 3. Implementieren Sie die Inhaltssicherheitsrichtlinie (CSP), um die Skriptquellen einzuschränken. Durch diese Richtlinien können Sitzungsangriffe im Zusammenhang mit Sitzungen effektiv geschützt und Benutzerdaten sichergestellt werden.

Wie können Sie die PHP -Sitzungsleistung optimieren?Wie können Sie die PHP -Sitzungsleistung optimieren?Apr 23, 2025 am 12:13 AM

Methoden zur Optimierung der PHP -Sitzungsleistung gehören: 1. Start der Verzögerung der Sitzung, 2. Verwenden Sie Datenbank zum Speichern von Sitzungen, 3. Kompress -Sitzungsdaten, 14. Sitzungslebenszyklus verwalten und 5. Sitzungsfreigabe implementieren. Diese Strategien können die Effizienz von Anwendungen in hohen Parallelitätsumgebungen erheblich verbessern.

Wie lautet die Konfigurationseinstellung von Session.gc_maxlifetime?Wie lautet die Konfigurationseinstellung von Session.gc_maxlifetime?Apr 23, 2025 am 12:10 AM

Thesession.gc_maxlifetimesettingInphpdeterminesthelifspanofSessionData, setInseconds.1) ItsconfiguredInphp.iniorviaini_Set (). 2) AbalanceIsneedToAvoidPerformanceSandunexexwortedyg -Probablogouts

Wie konfigurieren Sie den Sitzungsnamen in PHP?Wie konfigurieren Sie den Sitzungsnamen in PHP?Apr 23, 2025 am 12:08 AM

In PHP können Sie die Funktion Session_name () verwenden, um den Sitzungsnamen zu konfigurieren. Die spezifischen Schritte sind wie folgt: 1. Verwenden Sie die Funktion Session_name (), um den Sitzungsnamen wie Session_name ("my_Session") festzulegen. 2. Nachdem Sie den Sitzungsnamen festgelegt haben, call Session_start (), um die Sitzung zu starten. Das Konfigurieren von Sitzungsnamen kann Sitzungsdatenkonflikte zwischen mehreren Anwendungen vermeiden und die Sicherheit verbessern, aber auf die Einzigartigkeit, Sicherheit, Länge und Festlegen des Zeitpunkts der Sitzungsnamen achten.

Wie oft sollten Sie Sitzungs -IDs regenerieren?Wie oft sollten Sie Sitzungs -IDs regenerieren?Apr 23, 2025 am 12:03 AM

Die Sitzungs -ID sollte regelmäßig bei Anmeldung, vor sensiblen Operationen und alle 30 Minuten regeneriert werden. 1. Regenerieren Sie die Sitzungs -ID, wenn Sie sich anmelden, um festgelegte Angriffe zu verhindern. 2.. Genieren Sie vor sensiblen Operationen, um die Sicherheit zu verbessern. 3. Die regelmäßige Regeneration reduziert das langfristige Nutzungsrisiko, aber die Benutzererfahrung muss abgewogen werden.

Wie setzen Sie die Session Cookie -Parameter in PHP ein?Wie setzen Sie die Session Cookie -Parameter in PHP ein?Apr 22, 2025 pm 05:33 PM

Das Einstellen von Sitzungs -Cookie -Parametern in PHP kann über die Funktion Session_set_cookie_params () erreicht werden. 1) Verwenden Sie diese Funktion, um Parameter wie Ablaufzeit, Pfad, Domänenname, Sicherheitsflag usw. Zu setzen; 2) Call Session_start (), um die Parameter wirksam zu machen; 3) Parameter dynamisch entsprechend den Anforderungen wie dem Benutzeranmeldestatus des Benutzers einstellen. 4) Achten Sie darauf, sichere und httponly -Flags festzulegen, um die Sicherheit zu verbessern.

Was ist der Hauptzweck bei der Verwendung von Sitzungen in PHP?Was ist der Hauptzweck bei der Verwendung von Sitzungen in PHP?Apr 22, 2025 pm 05:25 PM

Der Hauptzweck bei der Verwendung von Sitzungen in PHP besteht darin, den Status des Benutzers zwischen verschiedenen Seiten aufrechtzuerhalten. 1) Die Sitzung wird über die Funktion Session_start () gestartet, wodurch eine eindeutige Sitzungs -ID erstellt und im Benutzer Cookie gespeichert wird. 2) Sitzungsdaten werden auf dem Server gespeichert, sodass Daten zwischen verschiedenen Anforderungen wie Anmeldestatus und Einkaufswagen -Inhalten übergeben werden können.

Wie können Sie Sitzungen über Subdomains teilen?Wie können Sie Sitzungen über Subdomains teilen?Apr 22, 2025 pm 05:21 PM

Wie teile ich eine Sitzung zwischen Subdomains? Implementiert durch Einstellen von Sitzungs Cookies für gemeinsame Domainnamen. 1. Setzen Sie die Domäne des Sitzungs -Cookie auf .example.com auf der Serverseite. 2. Wählen Sie die entsprechende Sitzungsspeichermethode wie Speicher, Datenbank oder verteiltes Cache. 3. Übergeben Sie die Sitzungs -ID über Cookies, und der Server ruft und aktualisiert die Sitzungsdaten basierend auf der ID.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools