ခေတ်သစ် web applications များဖွံ့ဖြိုးတိုးတက်ရေးလုပ်ငန်းစဉ်တွင်စွမ်းဆောင်ရည်အကောင်းမြင်သည် developer များ၏အာရုံစိုက်မှုမှာအမြဲတမ်းဖြစ်သည်။ စွမ်းဆောင်ရည်မြင့်မားသော PHP မူဘောင်တစ်ခုအနေဖြင့် Phalcon သည် Middleware အစိတ်အပိုင်းအမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် cache စီမံခန့်ခွဲမှုစနစ်များနှင့်ဒေတာသိုလှောင်မှုဖြေရှင်းနည်းများကိုတည်ဆောက်ရန် Phalcon Middleware ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်နိဒါန်းပေးမည်။
Phalcon ၏ cache middleware သည်လျှောက်လွှာတုန့်ပြန်မှုမြန်နှုန်းကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ ဖိုင်စနစ်တွင်အသုံးပြုသောအများအားဖြင့်အသုံးများသောအချက်အလက်များဖြင့် developer များကဒေတာဘေ့စ်လက်လှမ်းမီမှုအရေအတွက်ကိုထိရောက်စွာလျှော့ချနိုင်သည်။ ဤတွင်ပုံမှန် cache processing ဥပမာတစ်ခုဖြစ်သည်။
use Phalcon\Cache\Backend\File as BackendFile;
use Phalcon\Cache\Frontend\Data as FrontendData;
// cache ကိုဥပမာတစ်ခုဖန်တီးပါ
$frontCache = new FrontendData();
$backendCache = new BackendFile($frontCache, [
'cacheDir' => '../app/cache/',
]);
// အပြောင်းအလဲနဲ့မတောင်းဆိုမီ cache ကိုဖတ်ရန်ကြိုးစားပါ
$app->before(
function () use ($app, $backendCache) {
$key = md5($app->request->getURI());
$data = $backendCache->get($key);
if ($data !== null) {
$app->response->setJsonContent($data);
$app->response->send();
return false;
}
}
);
// တောင်းဆိုမှုအပြောင်းအလဲနဲ့ပြီးနောက် cache ကိုရေးပါ
$app->after(
function () use ($app, $backendCache) {
$key = md5($app->request->getURI());
$data = $app->response->getJsonContent();
$backendCache->save($key, $data);
}
);
$app->handle();
အထက်ဖော်ပြပါကုဒ်သည် cache ကိုရှာဖွေခြင်းကိုပြုလုပ်ရန်နှင့်အပြီးများမတိုင်မီနှင့်အပြီးတောင်းဆိုခြင်းမတိုင်မီနှင့်အပြီးလုပ်ဆောင်ခြင်းမတိုင်မီနှင့်အပြီးစစ်ဆင်ရေးများကိုပြုလုပ်သည်။
Phalcon သည် cache ကိုစီမံခန့်ခွဲမှုများကိုထောက်ပံ့ရုံသာမက Session နှင့် cookies များကိုလုပ်ဆောင်ရန်အသုံးပြုသူအချက်အလက်သိုလှောင်မှုအတွက် middleward ကိုထောက်ပံ့ပေးသည်။ ၎င်းသည်အသုံးပြုသူစစ်မှန်ကြောင်းအတည်ပြုခြင်း, အခြေအနေထိန်းသိမ်းခြင်းနှင့်အခြားလုပ်ဆောင်မှုများအတွက်အလွန်အရေးကြီးသည်။ အောက်ပါဥပမာသည် session ကို cookies များနှင့်မည်သို့ပေါင်းစည်းရမည်ကိုပြသသည်။
use Phalcon\Session\Adapter\Files as SessionAdapter;
use Phalcon\Http\Response\Cookies;
// ဖြစ်ပေါ်လာခြင်းSessionအစေခံ
$session = new SessionAdapter();
$session->start();
// တောင်းဆိုမှုမပြုမီထိုးSession
$app->before(
function () use ($app, $session) {
$app->setDI($session);
}
);
// တောင်းဆိုချက်ကိုပြီးနောက်Cookies
$app->after(
function () use ($app) {
$cookies = new Cookies();
$cookies->useEncryption(false); // စာဝှက်စနစ်ကိုလိုအပ်သလောက် enable လုပ်နိုင်ပါတယ်
$cookies->set(
'username',
$app->request->getPost('username'),
time() + 3600 // တစ်နာရီတရားဝင်ကာလ
);
}
);
$app->handle();
အထက်ပါအကောင်အထည်ဖော်မှုမှတစ်ဆင့်အသုံးပြုသူအမည်ကဲ့သို့သောသတင်းအချက်အလက်များကို client ပေါ်ရှိ cookies ပုံစံဖြင့်သိမ်းဆည်းထားနိုင်သည်။
Phalcon Moneyware သည် PHP developer များအား cache နှင့် data သိုလှောင်မှုကိုအကောင်အထည်ဖော်ရန်ထိရောက်သောနှင့် modular နည်းလမ်းဖြင့်ထောက်ပံ့ပေးသည်။ Session နှင့် cookies များဖြင့်အသုံးပြုသူအဆင့်အတန်းကိုသိမ်းဆည်းခြင်းသို့မဟုတ်ထိန်းသိမ်းခြင်းဖြင့်ဝင်ရောက်ခွင့်နှုန်းကိုတိုးတက်အောင်လုပ်ခြင်းသည်တိုးတက်ကောင်းမွန်အောင်ဖြစ်စေ, Phalcon သည်ပြောင်းလွယ်ပြင်လွယ်။ အားကောင်းသောအထောက်အပံ့များပေးသည်။ ဤ Middleware အစိတ်အပိုင်းများကိုအသုံးပြုခြင်းတွင်ကျွမ်းကျင်မှုသည်ပိုမိုကောင်းမွန်သောစွမ်းဆောင်ရည်နှင့်ပိုမိုကောင်းမွန်သောအတွေ့အကြုံများဖြင့် 0 က်ဘ်အပလီကေးရှင်းများကိုတည်ဆောက်ရန်ကူညီလိမ့်မည်။