Prinsip pelaksanaan perisian tengah PHP: Middleware membentuk rantaian, dan apabila permintaan itu sampai ke aplikasi, mereka memproses permintaan mengikut urutan. Setiap perisian tengah boleh memeriksa, mengubah suai permintaan atau mengembalikan respons. Kelas middleware melaksanakan antara muka MiddlewareInterface dan mentakrifkan kaedah proses() dan setNext(). Kaedah process() memproses permintaan, dan kaedah setNext() menetapkan middleware seterusnya. Rantaian dimulakan dengan memanggil kaedah process() bagi perisian tengah pertama. Aplikasi ialah kod terakhir dalam rantaian yang akan dilaksanakan.
Bagaimana perisian tengah PHP dilaksanakan
Perisian tengah PHP ialah mekanisme popular untuk memasukkan logik ke dalam aplikasi sebelum atau selepas permintaan pelanggan diproses. Ia berfungsi seperti ini:
1 Permintaan kitaran hayat
2. Kelas Middleware
MiddlewareInterface
. MiddlewareInterface
接口。process()
和 setNext()
。3. process() 方法
process()
方法处理请求。ServerRequestInterface
对象和一个 RequestHandlerInterface
对象。ServerRequestInterface
对象包含有关请求的信息。RequestHandlerInterface
对象是下一个中间件或应用程序的回调函数。process()
方法可以修改请求、返回响应或调用 $handler->handle()
来继续处理。4. setNext() 方法
setNext()
方法设置下一个要执行的中间件。5. 中间件链
process()
process()
dan setNext()
. 3. kaedah proses()
ServerRequestInterface
dan objek RequestHandlerInterface
. objek ServerRequestInterface
mengandungi maklumat tentang permintaan itu. Objek RequestHandlerInterface
ialah perisian tengah atau fungsi panggil balik aplikasi seterusnya.
Kaedah process()
boleh mengubah suai permintaan, mengembalikan respons atau memanggil $handler->handle()
untuk meneruskan pemprosesan.
setNext()
menetapkan perisian tengah seterusnya untuk dilaksanakan. 🎜🎜Jika middleware seterusnya tidak ditetapkan, permintaan akan diteruskan ke aplikasi. 🎜🎜🎜🎜 5. Rantaian Middleware 🎜🎜🎜🎜Middleware membentuk rantaian di mana setiap middleware memanggil yang seterusnya. 🎜🎜Aplikasi memulakan rantaian dengan memanggil kaedah process()
bagi perisian tengah pertama. 🎜🎜🎜🎜6. Aplikasi 🎜🎜🎜🎜Application ialah kod yang dilaksanakan selepas dipanggil oleh semua perisian tengah. 🎜🎜Ia biasanya bertanggungjawab untuk memproses permintaan dan membalas respons. 🎜🎜🎜🎜Contoh🎜🎜🎜Contoh berikut menunjukkan middleware PHP mudah yang menambahkan pengepala pada permintaan: 🎜<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>
Atas ialah kandungan terperinci Apakah prinsip pelaksanaan php middleware. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!