Principe de mise en œuvre du middleware PHP : le middleware forme une chaîne, et lorsque la requête atteint l'application, ils traitent la requête dans l'ordre. Chaque middleware peut inspecter, modifier une requête ou renvoyer une réponse. La classe middleware implémente l'interface MiddlewareInterface et définit les méthodes process() et setNext(). La méthode process() traite la requête et la méthode setNext() définit le middleware suivant. La chaîne est démarrée en appelant la méthode process() du premier middleware. L'application est le dernier code de la chaîne à être exécuté.
Comment le middleware PHP est implémenté
Le middleware PHP est un mécanisme populaire permettant d'insérer une logique dans une application avant ou après le traitement des requêtes des clients. Cela fonctionne comme suit :
1. Cycle de vie de la requête
2. Classe Middleware
MiddlewareInterface
. MiddlewareInterface
接口。process()
和 setNext()
。3. process() 方法
process()
方法处理请求。ServerRequestInterface
对象和一个 RequestHandlerInterface
对象。ServerRequestInterface
对象包含有关请求的信息。RequestHandlerInterface
对象是下一个中间件或应用程序的回调函数。process()
方法可以修改请求、返回响应或调用 $handler->handle()
来继续处理。4. setNext() 方法
setNext()
方法设置下一个要执行的中间件。5. 中间件链
process()
process()
et setNext()
. 3. La méthode process()
process()
traite la requête. ServerRequestInterface
et un objet RequestHandlerInterface
. L'objet ServerRequestInterface
contient des informations sur la requête. L'objet RequestHandlerInterface
est la prochaine fonction de rappel de middleware ou d'application.
La méthode process()
peut modifier la requête, renvoyer une réponse ou appeler $handler->handle()
pour continuer le traitement.
setNext()
définit le prochain middleware à exécuter. 🎜🎜Si le prochain middleware n'est pas défini, la requête se poursuivra vers l'application. 🎜🎜🎜🎜 5. Chaîne Middleware 🎜🎜🎜🎜Le Middleware forme une chaîne où chaque middleware appelle le suivant. 🎜🎜L'application démarre la chaîne en appelant la méthode process()
du premier middleware. 🎜🎜🎜🎜6. Application 🎜🎜🎜🎜L'application est le code qui est exécuté après avoir été appelé par tous les middlewares. 🎜🎜Il est généralement responsable du traitement des demandes et du retour des réponses. 🎜🎜🎜🎜Exemple🎜🎜🎜L'exemple suivant montre un middleware PHP simple qui ajoute un en-tête à la requête : 🎜<code class="php">class AddHeaderMiddleware implements MiddlewareInterface { public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) { $request = $request->withAddedHeader('X-Custom-Header', 'My Value'); return $handler->handle($request); } }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!