သဘာ၀ဘေး အန္တရာယ် အတွက် mmcoder မှ course အားလုံးကို 50% discount ချထားပီး ရောင်းရငွေအားလုံးကို လိုအပ်သည့်နေရာများအားလှူဒါန်းပေးသွားမှာဖြစ်ပါတယ်ဗျ

0
50

Performace,readibility,scalibility အသားပေးလာတဲ့ laravel 12

Myo Thant Kyaw

မင်္ဂလာပါ laravel 12 ကတော့ 2024/dec/11 နေ့မှာ release လုပ်ထားခဲ့ ဖြစ်ပါတယ်။

laravel 12 မှာ release မှာ ဆိုရင် performace & Scalable ပိုင်းကိုဦးစားပေးလာပါတယ်။

မလိုအပ်တဲ့ code တွေကိုလျှော့ချ လာတာကိုလည်း တွေ့ရပါတယ်။

အခု laravel 12 မှာ ဘာတွေပြောင်းလဲလာလည်းဆိုတာကို ကြည့်ရအောင်ဗျာ


🔴 PHP Version

php version min 8.2 လိုအပ်မှာဖြစ်ပါတယ်။


🔴 Async Caching

early version တွေမှာ

Cache:remember();

အသုံးပြုထားရာကနေ အခု async task တစ်ခုဖြစ်လာပါတယ်

Cache::asyncRemember();


🔴 Query Inprovement 

DB::table('users')
->where('status', 'active')
->where(function ($query) {
$query->where('age', '>', 25)
->orWhere('type', 'married');
})->get();

 အထက်က query လေးကတော့ user တွေမှာ active ဖြစ်နေပီး 25နှစ်အထက်အိမ်ထောင်သည်တွေကိုရှာဖွေတာဖြစ်ပါတယ်

အခု 12 မှာ တော့

DB::table('users')
->where('status', 'active')
->nestedWhere('age', '>', 25, 'or', 'type', 'married')
->get();

nestedWhere နဲ့ အသုံးပြုနိုင်ပါတယ် ဒါက code ရေးရတာနဲ့ စဉ်းစားရတာပိုပီး နားလည်လွယ်စေသလို readable ပိုဖြစ်လာပါတယ်။


🔴 Validator Security Enhancement

အရင် verion တွေမှာ

request()->validate([
'password':"requied|min:8",
]);


သုံးရပါတယ် အခု ဒီထက်ပိုပီး စစ်ဆေးပီးသားတွေကိုလုပ်ဆောင်နိုင်ပါတယ်

$request->secureValidate([
'password' => ['required', 'min:8', 'strong'],
]);

secureValidate က password တွေ strong ဖြစ်ဖို့ policy ကို ကျင့်သုံးပေးထားမှာဖြစ်ပါတယ်။


🔴 new command frontend asset

အရင်

php artisan ui view

အစား

php artisan frontend:install vue

ဒီလိုပြောင်းလဲထားပါတယ် ဒါက configuration time save ဖြစ်မယ်လို့လည်း ဆိုပါတယ်။


🔴 Api version

api ကို built in ထည့်သွင်းပေးလာပါတယ်

Route::apiVersion(1)->group();

ဒါဟာ apiVersion 1 အတွက် route group တစ်ခုဖြစ်ပါတယ်


🔴 eager load

eager load  က eloquent ရဲ့ အရေးကြီးတဲ့ အသုံးအများဆုံး features တစ်ခုလို့တောင်ဆိုနိုင်ပါတယ်

Post::with(['category'=>function($q){
$q->where('column','condition','value');
}]);


relationship တစ်ခုက table ကိုထပ်ပီး filtering လုပ်မယ်ဆိုအထက်ကလို လုပ်နိုင်ပါတယ်အခု အဲ့လိုမရှုပ်တော့ပါဘူး

Post::withFiltered('category',['column','condition','value'])


ဒီတိုင်းအသုံးပြိုနိုင်မှာဖြစ်ပါတယ်










Comment:
Please Login To Create Comment Login
Loading...