Überblick:
Als beliebtes PHP -Framework wird CakePHP bei der Entwicklung von Webanwendungen häufig verwendet. Es bietet eine Fülle von Werkzeugen und Funktionen, unter denen der Middleware -Mechanismus besonders wichtig ist. Middleware hilft uns nicht nur, Webanwendungen schnell zu erstellen, sondern verbessert auch die Lesbarkeit und Wartbarkeit unseres Codes erheblich.
Middleware ist eine Reihe von Vorgängen, die vor oder nach einer Anforderung an den Controller verteilt wurden. Es kann Aufgaben wie Authentifizierung, Autorisierung, Caching, Protokollierung usw. übernehmen
CakePhp bietet standardmäßig eine Middleware -Warteschlange an, die in der Middleware -Methode in der Datei src/application.php verwaltet werden kann. Wir können die Ausführungsreihenfolge von Middleware in dieser Methode hinzufügen, löschen oder anpassen.
// src/Middleware/CustomMiddleware.php
namespace App\Middleware;
<p>use Psr\Http\Message\ResponseInterface;<br>
use Psr\Http\Message\ServerRequestInterface;<br>
use Psr\Http\Server\RequestHandlerInterface;<br>
use Psr\Http\Server\MiddlewareInterface;<br>
use Cake\Log\Log;</p>
<p>class CustomMiddleware implements MiddlewareInterface<br>
{<br>
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface<br>
{<br>
// Vorgänge, bevor der Controller ausgeführt wird<br>
Log::info('CustomMiddleware - Before Controller');</p>
<pre class="overflow-visible!"> $response = $handler->handle($request);
// Betrieb nach der Ausführung des Controllers
Log::info('CustomMiddleware - After Controller');
return $response;
}
}
Der obige Code zeigt eine Klasse namens CustomMiddleware , die MiddlewareInterface implementiert. Bei der Prozessmethode fügen wir die Protokollierungsvorgänge vor und nach der Durchführung des Controllers hinzu.
Um Middleware zu aktivieren, müssen Sie der Middleware -Methode der Datei src/application.php die folgende Konfiguration hinzufügen:
public function middleware($middlewareQueue)
{
// Fügen Sie benutzerdefinierte Middleware hinzu
$middlewareQueue->add(new \App\Middleware\CustomMiddleware());
return $middlewareQueue;
}
Auf diese Weise wird jedes Mal, wenn Sie anfordern, die benutzerdefinierte Middleware ausgelöst und der entsprechende Vorgang ausgeführt. Sie können auch mehr Middleware entsprechend Ihren Anforderungen erstellen und in dieser Methode in der Reihenfolge hinzufügen.
Mit dem Middleware -Mechanismus von CakePHP können Funktionen wie Authentifizierung, Autorisierung und Protokollierung problemlos implementiert werden, wodurch die Skalierbarkeit und Wartung von Webanwendungen verbessert wird. Nur eine kleine Menge Code, um eine gut strukturierte und leistungsstarke PHP-Anwendung zu erstellen.