PHP တွင် JSonserializable interface သည်အရာဝတ်ထု Serial ကို JSOSS သို့ကိုင်တွယ်ရန်အရေးကြီးသောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်အရာဝတ်ထုများကိုအထူးသဖြင့် JSONS_CENDode ကို အသုံးပြုသောအခါ JSON encoding ၏အပြုအမူကိုစိတ်ကြိုက်ပြုလုပ်ရန်ခွင့်ပြုသည်။ Laravel Project တွင် JSonserializable ကိုမည်သို့အကောင်အထည်ဖော်နိုင်မည်ကိုကျွမ်းကျင်ခြင်းကိုကျွမ်းကျင်သည်။ jsonserialize နည်းလမ်းသည်အချက်အလက်ထုတ်လွှင့်မှု၏ပြောင်းလွယ်ပြင်လွယ်မှုများကိုပိုမိုကောင်းမွန်အောင်လုပ်နိုင်ရုံသာမက API ပြန်လာသည့်ဖွဲ့စည်းပုံကိုစီးပွားရေးလိုအပ်ချက်များနှင့်အညီပိုမိုကောင်းမွန်စေနိုင်သည်။
ဤဆောင်းပါးသည်သင့်အား jsonserializable ကို နက်နက်ရှိုင်းရှိုင်းနားလည်ရန်နှင့် JSO output ကိုစိတ်ကြိုက်ပြုပြင်ရန်မည်သို့ကျင့်သုံးရမည်ကိုပြသရန် laravel လက်တွေ့ကျကျကိစ္စကိုအသုံးပြုလိမ့်မည်။
JSOSSEREERIONIALIFISE ဆိုသည်မှာ PHP 5.4 ဗားရှင်းတွင်စတင်မိတ်ဆက်သည့် interface တစ်ခုဖြစ်ပြီးနည်းလမ်းတစ်ခုကိုကြေငြာသည်။
public function jsonSerialize();
ဤနည်းလမ်းဖြင့်ပြန်လာသောအချက်အလက်များကို JSONS_CETDOTDED () အားဖြင့် Serialized အဖြစ်အသုံးပြုလိမ့်မည်။ ဤ interface ကိုအကောင်အထည်ဖော်ခြင်းအားဖြင့်အတန်းသည် JSON သို့ကူးပြောင်းထားသောအချက်အလက်ဖွဲ့စည်းပုံကိုအပြည့်အဝထိန်းချုပ်နိုင်သည်။
Laravel ကိုယ်တိုင်သည်မော်ဒယ်ဒေတာများကိုလုပ်ဆောင်ရန် Eloquent Orm ကိုအသုံးပြုသည်။ သို့သော်သင်လိုချင်သောအခြေအနေအချို့ရှိပါသည်။
စိတ်ကြိုက် JSONS သည်လယ်ကွင်းများနှင့်ပုံစံများကိုပြန်လည်ရောက်ရှိစေသည်။
အထိခိုက်မခံသောသတင်းအချက်အလက်များ (ဥပမာစကားဝှက်များ, တိုကင်များကဲ့သို့) filter ကို filter လုပ်ပါ။
ဆက်နွယ်သောအချက်အလက်များကိုအသိုက်လုပ်သည့်အခါဖွဲ့စည်းပုံပိုမိုလွယ်ကူစွာညှိနှိုင်းမှု,
ရှေ့ -ED အပြောင်းအလဲနဲ့၏ရှုပ်ထွေးမှုကိုရိုးရှင်းအောင်လုပ်ပါ။
ဤအချိန်တွင် JSOSSEREERIONIALIAL သည်အလွန်သင့်လျော်သည်။
ကျွန်ုပ်တို့တွင်လယ်ကွင်းများဖြင့် အသုံးပြုသူ မော်ဒယ်ရှိသည်ဆိုပါစို့။
သတ်
နံမယ်
အီးမေးလ်
လှျို့ဝှက်စကား
ဖန်တီး
updated_at
ကြှနျုပျတို့ ... မြျှောလငျ့ပါတယျ:
စကားဝှက်ကို ဖျောက်ထားပါ။
creating_at ကို တိကျသောအချိန်ကြိုးအဖြစ် format လုပ်ပါ။
ကွန်ပျူတာအိမ်ခြံမြေ profile_Url ထည့်ပါ။
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use JsonSerializable;
class User extends Model implements JsonSerializable
{
// batch တာဝန်ပေးနယ်ပယ်များကိုခွင့်ပြုပါ(လိုအပ်သလို)
protected $fillable = ['name', 'email', 'password'];
// ဝှက်ထားရန်လိုအပ်သည့်ကွက်လပ်များ
protected $hidden = ['password'];
public function jsonSerialize()
{
return [
'id' => $this->id,
'name' => $this->name,
'email' => $this->email,
'created_at' => $this->created_at->format('Y-m-d H:i'),
'profile_url' => url('gitbox.net/profile/' . $this->id),
];
}
}
<?php
namespace App\Http\Controllers;
use App\Models\User;
class UserController extends Controller
{
public function show($id)
{
$user = User::findOrFail($id);
// အရာဝတ်ထုကိုတိုက်ရိုက်ပြန်သွားပါ,Laravel ဖုန်းဆက်ပါလိမ့်မယ် jsonSerialize အလိုအလျောက် serialization
return response()->json($user);
}
}
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\UserController;
Route::get('user/{id}', [UserController::class, 'show']);
http://gitbox.net/user/1 သို့ပြန်သွားရန်:
{
"id": 1,
"name": "Zhang San",
"email": "[email protected]",
"created_at": "2025-05-25 10:30",
"profile_url": "http://gitbox.net/profile/1"
}
သင်မြင်နိုင်သည် -
စကားဝှက် ကိုဖုံးကွယ်ထားသည်။
Created_at format ကိုအဆင်သင့်,
Profile_URL လယ်ပြင်ထည့်သွင်းခဲ့သည်။
JSOSSEREERIONIALIALIALIVE Interface သည်သင့်အားမော်ဒယ်လ်ဆိုင်းငံ့မှု၏အပြုအမူကို JSON သို့အပြည့်အဝထိန်းချုပ်ရန်ခွင့်ပြုသည်။
Laravel တွင် Eloquent နှင့်ပေါင်းစပ်။ အသုံးပြုရန်အလွန်အဆင်ပြေသည်။
API output ကိုစိတ်ကြိုက်ပြုပြင်ခြင်း, အထိခိုက်မခံတဲ့ဒေတာကာကွယ်မှု, format မယူပါ။
Laravel's Response () -> JSON () နည်းလမ်းဖြင့် တွဲဖက်. အတိုချုပ်နှင့်အလိုလိုသိသည်။
JSONSERIONIALIONS :: JSonserializable :: JSonserialize :: JSonserialize သည် မရှိမဖြစ်လိုအပ်သောကိရိယာတစ်ခုဖြစ်သည်။