Zend Framework သည် Web application ဖွံ့ဖြိုးတိုးတက်မှု၏စွမ်းဆောင်ရည်ကိုတိုးတက်စေနိုင်သောအစိတ်အပိုင်းများနှင့်ကိရိယာများကိုတိုးတက်စေနိုင်သောအစိတ်အပိုင်းများနှင့်ကိရိယာများကိုထောက်ပံ့ပေးသောအစိတ်အပိုင်းများနှင့်ကိရိယာများကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် zend framework middleware ၏လက်တွေ့ကျသောအခြေအနေများနှင့်အထူးသဖြင့်ပုံရိပ်နှင့်မာလ်တီမီဒီယာတောင်းဆိုမှုများကိုထိရောက်စွာလုပ်ဆောင်ရန်နှင့်အထူးသဖြင့် Middleward ကိုအသုံးပြုနည်း။
Composer မှတဆင့် Zend Framework ၏ zend framework ၏ zend framework ၏ဖော်ပြရန်နှင့် http handler runner အစိတ်အပိုင်းများကိုအရင်ထည့်သွင်းရန်နှင့်အောက်ပါ command ကို အသုံးပြု. တပ်ဆင်မှုကိုဖြည့်စွက်ရန်လိုအပ်သည်။
composer require zendframework/zend-expressive zendframework/zend-httphandlerrunner
တပ်ဆင်မှုပြီးဆုံးသည်နှင့်တပြိုင်နက်သင်သည်တောင်းဆိုမှုကိုလုပ်ဆောင်ရန် Middleware ဗိသုကာကိုစတင်အသုံးပြုနိုင်သည်။
Zend Framework ၏ Middleware အကောင်အထည်ဖော်မှုသည် HTTP တောင်းဆိုမှုများနှင့်တုန့်ပြန်မှုများအကြားအပြောင်းအလဲနဲ့ interface ကိုသတ်မှတ်သည့် PSR-15 စံသတ်မှတ်ချက်ကိုလိုက်နာသည်။ ကျွန်ုပ်တို့သည်ဤ interfaces များကိုအကောင်အထည်ဖော်ခြင်းဖြင့်အပြောင်းအလဲနဲ့ယုတ္တိဗေဒကိုစိတ်ကြိုက်ပြင်ဆင်နိုင်သည်။ ဤတွင်ရုပ်ပုံများကိုပြုပြင်ခြင်းအတွက် middleware ၏ဥပမာတစ်ခုဖြစ်သည်။
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
class ImageResizeMiddleware implements MiddlewareInterface
{
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
// ပုံကိုတောင်းဆိုမှုမှရယူပါURL
$imageUrl = $request->getQueryParams()['image'];
// ပုံရိပ်ထုတ်ယူခြင်းလုပ်ဆောင်ချက်
$resizedImage = $this->resizeImage($imageUrl);
// ပြုပြင်ထားသောပုံကိုပြန်ပို့ရန်တုန့်ပြန်မှုအသစ်တစ်ခုကိုဖန်တီးပါ
$response = new \Zend\Diactoros\Response();
$response->getBody()->write($resizedImage);
return $response;
}
private function resizeImage($imageUrl)
{
// အမှန်တကယ်ပုံရိပ်ထုတ်ယူခြင်းယုတ္တိဗေဒ
// ...
}
}
Middleware သည်တောင်းဆိုမှု parameters များထံမှပုံရိပ်လိပ်စာကိုထုတ်ယူသည်။
application တွင် middleware အကျိုးသက်ရောက်ရန်အတွက်လျှောက်လွှာတင်ပြချက်တွင်ကျွန်ုပ်တို့မှတ်ပုံတင်ရန်လိုအပ်သည်။ index.php ဖိုင်တစ်ခုကိုဖန်တီးပြီးအောက်ပါတို့ကိုရေးပါ။
use Zend\Expressive\AppFactory;
$app = AppFactory::create();
$app->pipe(ImageResizeMiddleware::class);
$app->run();
ပိုက်လိုင်း () နည်းလမ်း () method ကိုမှတဆင့်, တောင်းဆိုမှုကိုအပြောင်းအလဲနဲ့လုပ်ငန်းစဉ်တွင်ထည့်သွင်းထားသည်။ အသုံးပြုသူသည်သတ်မှတ်ထားသော URL ကိုအသုံးပြုသောအခါဤမြေအရင်းသည်အလိုအလျောက်ပစ်ခတ်လိမ့်မည်။
သင်၏ PHP application ကိုသင် PHP လျှောက်လွှာကိုစတင်ပြီးနောက် http: // localhost: 8000 : Middleware ကိုမှန်ကန်စွာကိုင်တွယ်ခြင်းရှိမရှိစစ်ဆေးနိုင်သည်။
http://localhost:8000/?image=http://example.com/image.jpg
ဤတောင်းဆိုချက်အရ Image URL သည် parameter တစ်ခုအနေဖြင့်ဖြတ်သန်းသွားသည်။ ဤချဉ်းကပ်မှုသည် 0 က်ဘ်အပလီကေးရှင်းများသို့အလွန်ပြောင်းလွယ်ပြင်လွယ်နှင့်အသက်သာခံမှုကိုရရှိစေသည်။
Zend Framework ၏ Middleware ၏ Middleware ၏ဗိသုကာမှတစ်ဆင့်ကျွန်ုပ်တို့သည်ပုံများနှင့်မာလ်တီမီဒီယာအကြောင်းအရာများကိုရှင်းလင်းပြတ်သားစွာနှင့်ဖြည့်စွက်ထားသောယုတ္တိရှိသည့်ကျိုးကြောင်းဆီလျော်သောဖွဲ့စည်းပုံအောင်မြင်ရန်ထိရောက်စွာလုပ်ဆောင်နိုင်သည်။ ဤဆောင်းပါးတွင်ဥပမာများသည်ရုပ်ပုံပြုပြင်ခြင်းအခြေအနေများအတွက်အခြေခံအကောင်အထည်ဖော်မှုဆိုင်ရာအကြံဥာဏ်များပေးသည်။ developer များက cache processing, format ပြောင်းလဲခြင်း,