PHP framework ၏တိုးချဲ့ပညာပေးရေးယန္တရားသည် developer များကို extension points ကိုအဓိပ္ပါယ်ဖွင့်ဆိုခြင်းဖြင့်အဓိကကုဒ်ကိုမပြုပြင်ဘဲဖွင့်လှစ်ခြင်းသို့မဟုတ်စိတ်ကြိုက်ပြုလုပ်ခွင့်ပြုသည်။ အဓိကအကြံဥာဏ်မှာမူဘောင်၏တိကျသောအစိတ်အပိုင်းများကိုဖွင့်ရန်နှင့်ပြင်ပယုတ္တိဗေဒကိုဤ node များ၌ပြုလုပ်ရန်ခွင့်ပြုရန်ဖြစ်သည်။
PHP မူဘောင်အများစုတွင်တိုးချဲ့ခြင်းယန္တရား၏အဓိကအကောင်အထည်ဖော်မှုသည် interfaction များသို့မဟုတ်စိတ်တဇအတန်းများပေါ်တွင်မှီခိုသည်။ မူဘောင်သည်အဓိကဖြစ်စဉ်များတွင်တိုးချဲ့ခြင်းအချက်များကိုကြိုတင်ထားရှိမည်ဖြစ်ပြီး developer များသည်စိတ်ကြိုက်ဟန်ချက်ကိုထိုးသွင်းရန်သက်ဆိုင်ရာ interfaces များကိုအကောင်အထည်ဖော်ရန်သာလိုအပ်သည်။ ၎င်းသည်မူဘောင်တည်ငြိမ်မှုကိုသေချာစေရုံသာမက developer များကိုအလွန်ပြောင်းလွယ်ပြင်လွယ်ပေးသည်။
တိုးချဲ့ပညာပေးရေးသင်တန်းများသည်များသောအားဖြင့် extension points ဖြစ်ရပ်များကိုကိုင်တွယ်ရန်သို့မဟုတ်နောက်ထပ်လုပ်ဆောင်မှုကိုပေးရန်တိကျသောနည်းလမ်းများကိုအကောင်အထည်ဖော်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, သင်က framework ၏ 0 န်ဆောင်မှုမှတ်ပုံတင်ခြင်းယန္တရားကိုကိုင်တွယ်ခြင်းသို့မဟုတ်တိုးချဲ့ရန်တောင်းဆိုခြင်းအတွက်အကာအကွယ်ပေးသည့်အချိုးအစားကိုသင်ထည့်နိုင်သည်။
Laravel framework ၏တိုးချဲ့ပညာပေးစနစ်ကို 0 န်ဆောင်မှုပေးသူများမှတဆင့်အကောင်အထည်ဖော်သည်။ 0 န်ဆောင်မှုပေးသူများသည် 0 န်ဆောင်မှုများ, အောက်ပါဥပမာသည် Laravel ရှိအကောက်ခွန်အလောင်းအစားကိုမည်သို့မှတ်ပုံတင်ရမည်ကိုပြသသည်။
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class CustomMiddlewareServiceProvider extends ServiceProvider
{
public function boot()
{
$this->app['router']->aliasMiddleware('custom', \App\Http\Middleware\CustomMiddleware::class);
}
}
အထက်ဖော်ပြပါကုဒ်သည် 0 န်ဆောင်မှုပေးသူမှတဆင့် Laravel ၏ routing system ထဲသို့ Customer ကိုမှတ်ပုံတင်သည်။ ဤနည်းအားဖြင့် idust ည့်သည်အတိုင်း alias ကို ထုံးတမ်းစဉ်လာ မှတဆင့်လျှောက်လွှာတွင်အသုံးပြုနိုင်သည်။
မှတ်ပုံတင်ပြီးသည်နှင့်တပြိုင်နက်စိတ်ကြိုက် extension ကိုမူဘောင်၏ built-in middleware ကဲ့သို့အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်:
<?php
Route::middleware('custom')->get('/', 'HomeController@index');
ဤနည်းအားဖြင့် developer များကမူဘောင်၏အဓိကအားဖြင့်ပြုပြင်မွမ်းမံခြင်းမရှိဘဲ application functionality ကိုပိုမိုတိုးချဲ့နိုင်သည်။
PHP framework ၏တိုးချဲ့ပညာပေးစနစ်သည်မူဘောင်၏ပြောင်းလွယ်ပြင်လွယ်မှုနှင့်ထိန်းသိမ်းခြင်းကိုတိုးတက်စေရန်အတွက်သော့ချက်ဖြစ်သည်။ Extension Points နှင့် Custom extension classများပေါင်းစပ်ခြင်းအားဖြင့် developer များသည်မူဘောင်လုပ်ငန်းများကိုအမှန်တကယ်လိုအပ်ချက်များနှင့်အညီအဆင့်သတ်မှတ်ချက်ကိုတိုးချဲ့နိုင်သည်။ ဤယန္တရားကိုနားလည်ခြင်းသည်အခြေခံမူဘောင်၏အခြေခံဒီဇိုင်းအတွေးအခေါ်များကိုကျွမ်းကျင်ရန်သာမကဖွံ့ဖြိုးတိုးတက်မှုထိရောက်မှုနှင့်ကုဒ်အရည်အသွေးကိုသိသိသာသာတိုးတက်စေရန်အထောက်အကူပြုသည်။