လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Laravel တွင် JSonserializable :: JSOSSEREERialize function ကို jsonserialize function

Laravel တွင် JSonserializable :: JSOSSEREERialize function ကို jsonserialize function

gitbox 2025-05-28

PHP တွင် JSonserializable interface သည်အရာဝတ်ထု Serial ကို JSOSS သို့ကိုင်တွယ်ရန်အရေးကြီးသောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်အရာဝတ်ထုများကိုအထူးသဖြင့် JSONS_CENDode ကို အသုံးပြုသောအခါ JSON encoding ၏အပြုအမူကိုစိတ်ကြိုက်ပြုလုပ်ရန်ခွင့်ပြုသည်။ Laravel Project တွင် JSonserializable ကိုမည်သို့အကောင်အထည်ဖော်နိုင်မည်ကိုကျွမ်းကျင်ခြင်းကိုကျွမ်းကျင်သည်။ jsonserialize နည်းလမ်းသည်အချက်အလက်ထုတ်လွှင့်မှု၏ပြောင်းလွယ်ပြင်လွယ်မှုများကိုပိုမိုကောင်းမွန်အောင်လုပ်နိုင်ရုံသာမက API ပြန်လာသည့်ဖွဲ့စည်းပုံကိုစီးပွားရေးလိုအပ်ချက်များနှင့်အညီပိုမိုကောင်းမွန်စေနိုင်သည်။

ဤဆောင်းပါးသည်သင့်အား jsonserializable ကို နက်နက်ရှိုင်းရှိုင်းနားလည်ရန်နှင့် JSO output ကိုစိတ်ကြိုက်ပြုပြင်ရန်မည်သို့ကျင့်သုံးရမည်ကိုပြသရန် laravel လက်တွေ့ကျကျကိစ္စကိုအသုံးပြုလိမ့်မည်။


1 ။ jsonserializable ဆိုတာဘာလဲ။

JSOSSEREERIONIALIFISE ဆိုသည်မှာ PHP 5.4 ဗားရှင်းတွင်စတင်မိတ်ဆက်သည့် interface တစ်ခုဖြစ်ပြီးနည်းလမ်းတစ်ခုကိုကြေငြာသည်။

 public function jsonSerialize();

ဤနည်းလမ်းဖြင့်ပြန်လာသောအချက်အလက်များကို JSONS_CETDOTDED () အားဖြင့် Serialized အဖြစ်အသုံးပြုလိမ့်မည်။ ဤ interface ကိုအကောင်အထည်ဖော်ခြင်းအားဖြင့်အတန်းသည် JSON သို့ကူးပြောင်းထားသောအချက်အလက်ဖွဲ့စည်းပုံကိုအပြည့်အဝထိန်းချုပ်နိုင်သည်။


2 ။ Laravel Project တွင် JSOSSEREERIONIALIALIONS ကိုသင်အသုံးပြုရန်လိုအပ်ပါသလား။

Laravel ကိုယ်တိုင်သည်မော်ဒယ်ဒေတာများကိုလုပ်ဆောင်ရန် Eloquent Orm ကိုအသုံးပြုသည်။ သို့သော်သင်လိုချင်သောအခြေအနေအချို့ရှိပါသည်။

  • စိတ်ကြိုက် JSONS သည်လယ်ကွင်းများနှင့်ပုံစံများကိုပြန်လည်ရောက်ရှိစေသည်။

  • အထိခိုက်မခံသောသတင်းအချက်အလက်များ (ဥပမာစကားဝှက်များ, တိုကင်များကဲ့သို့) filter ကို filter လုပ်ပါ။

  • ဆက်နွယ်သောအချက်အလက်များကိုအသိုက်လုပ်သည့်အခါဖွဲ့စည်းပုံပိုမိုလွယ်ကူစွာညှိနှိုင်းမှု,

  • ရှေ့ -ED အပြောင်းအလဲနဲ့၏ရှုပ်ထွေးမှုကိုရိုးရှင်းအောင်လုပ်ပါ။

ဤအချိန်တွင် JSOSSEREERIONIALIAL သည်အလွန်သင့်လျော်သည်။


3 ။ လက်တွေ့အမှုကို: Laravel မော်ဒယ်လ်တွင် JSOSSEREERIONIZIASS အကောင်အထည်ဖော်ခြင်း

ကျွန်ုပ်တို့တွင်လယ်ကွင်းများဖြင့် အသုံးပြုသူ မော်ဒယ်ရှိသည်ဆိုပါစို့။

  • သတ်

  • နံမယ်

  • အီးမေးလ်

  • လှျို့ဝှက်စကား

  • ဖန်တီး

  • updated_at

ကြှနျုပျတို့ ... မြျှောလငျ့ပါတယျ:

  • စကားဝှက်ကို ဖျောက်ထားပါ။

  • creating_at ကို တိကျသောအချိန်ကြိုးအဖြစ် format လုပ်ပါ။

  • ကွန်ပျူတာအိမ်ခြံမြေ profile_Url ထည့်ပါ။

1 ။ jsonserializable အကောင်အထည်ဖော်ရန်အသုံးပြုသူမော်ဒယ်ကိုပြုပြင်မွမ်းမံပါ

 <?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),
        ];
    }
}

2 ။ Controller အတွက် JSON ကိုပြန်ပို့ပါ

 <?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);
    }
}

3 ။ routing configuration ကို

 <?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\UserController;

Route::get('user/{id}', [UserController::class, 'show']);

4 ။ ရလဒ်များကိုဥပမာ

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 လယ်ပြင်ထည့်သွင်းခဲ့သည်။


5 ။ အကျဉ်းချုပ်

  • JSOSSEREERIONIALIALIALIVE Interface သည်သင့်အားမော်ဒယ်လ်ဆိုင်းငံ့မှု၏အပြုအမူကို JSON သို့အပြည့်အဝထိန်းချုပ်ရန်ခွင့်ပြုသည်။

  • Laravel တွင် Eloquent နှင့်ပေါင်းစပ်။ အသုံးပြုရန်အလွန်အဆင်ပြေသည်။

  • API output ကိုစိတ်ကြိုက်ပြုပြင်ခြင်း, အထိခိုက်မခံတဲ့ဒေတာကာကွယ်မှု, format မယူပါ။

  • Laravel's Response () -> JSON () နည်းလမ်းဖြင့် တွဲဖက်. အတိုချုပ်နှင့်အလိုလိုသိသည်။

JSONSERIONIALIONS :: JSonserializable :: JSonserialize :: JSonserialize သည် မရှိမဖြစ်လိုအပ်သောကိရိယာတစ်ခုဖြစ်သည်။