လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PDostatement ၏စိတ်ကြိုက်အတန်းကို အသုံးပြု. Receful API ကိုဖန်တီးပါ။ :: Fetchobject

PDostatement ၏စိတ်ကြိုက်အတန်းကို အသုံးပြု. Receful API ကိုဖန်တီးပါ။ :: Fetchobject

gitbox 2025-05-29

Modern PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် PDO (PHP Data Oblatters) သည်ပေါ့ပါးပြီးထိရောက်သောဒေတာဘေ့စ်ဝင်ရောက်ခွင့်ပြုသည့်မျက်နှာပြင်ကိုပေးသည်။ PDostatement :: FetchObjection function သည်ဒေတာဘေ့စ်စုံစမ်းမှုသည်အရာဝတ်ထုများကိုအရာဝတ်ထုများသို့တိုက်ရိုက်ပို့ဆောင်ရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည်။ ထုံးစံအတန်းနှင့်ပေါင်းစပ်လျှင်သင်သည်စနစ်တကျကောင်းမွန်စွာစနစ်တကျအနားယူနိုင်သည့် api ကိုလျင်မြန်စွာတည်ဆောက်နိုင်သည်။ ဤဆောင်းပါးသည် PDostatement :: Fetchobject ကို အသုံးပြု. မည်သို့အောင်မြင်ရန်မည်သို့ပြုလုပ်ရမည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။

ငြိမ်ဝပ်စွာ API ကိုတီထွင်သည့်အခါဒေတာဘေ့စ်စုံစမ်းမှုရလဒ်များသည်မကြာခဏဆိုသလိုထိန်းသိမ်းထားနိုင်သည့်နည်းလမ်းများလိုအပ်သည်။ PDostatement :: Fetchobject သည် query ရလဒ်များကိုအားဖွင့်ရန်ခွင့်ပြုသည်။

အောက်ဖော်ပြပါအသုံးပြုသူ (အသုံးပြုသူ) API ကိုတည်ဆောက်ရန်အပြည့်အဝဥပမာကိုအသုံးပြုသည်။

အဆင့် 1: ဒေတာဘေ့စ်နှင့်စားပွဲများကိုဖန်တီးပါ

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

 CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL
);

အချို့စမ်းသပ်အချက်အလက်များကိုထည့်ပါ။

 INSERT INTO users (name, email) VALUES 
('Alice', '[email protected]'),
('Bob', '[email protected]');

အဆင့် 2 - သုံးစွဲသူအတန်းအစားကိုသတ်မှတ်ခြင်း (user.php)

ဒီအတန်းကိုဒေတာဘေ့စ်စုံစမ်းမှုရလဒ်များကိုမြေပုံဆွဲရန်အသုံးပြုလိမ့်မည်။

 class User
{
    public int $id;
    public string $name;
    public string $email;

    public function toArray(): array
    {
        return [
            'id'    => $this->id,
            'name'  => $this->name,
            'email' => $this->email,
        ];
    }
}

API အတွက် JSON သို့ JSON ကိုပြန်လည်ရောက်ရှိနိုင်ရန် Tarray Method သည် array forform သို့ပြောင်းလဲရန်ကျွန်ုပ်တို့ကိုကူညီသည်။

အဆင့် 3: ဒေတာဘေ့စ် connection ကိုတည်ဆောက်ပါ (DB.Php)

 <?php
function getPDO(): PDO
{
    $dsn = 'mysql:host=localhost;dbname=api_example;charset=utf8mb4';
    $username = 'root';
    $password = '';

    return new PDO($dsn, $username, $password, [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    ]);
}
?>

အဆင့် 4: API entry file (api.php) ရေးပါ။

 <?php
require 'db.php';
require 'User.php';

// တုံ့ပြန်မှုခေါင်းစီးကိုသတ်မှတ်ပါ
header('Content-Type: application/json');

$pdo = getPDO();

// အသုံးပြုသူများကိုရယူပါID,သို့ဆိုလျှင်
$id = $_GET['id'] ?? null;

if ($id) {
    // တစ်ခုတည်းအသုံးပြုသူရယူပါ
    $stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');
    $stmt->execute(['id' => $id]);
    $user = $stmt->fetchObject('User');

    if ($user) {
        echo json_encode($user->toArray());
    } else {
        http_response_code(404);
        echo json_encode(['error' => 'User not found']);
    }
} else {
    // အသုံးပြုသူအားလုံးကိုရယူပါ
    $stmt = $pdo->query('SELECT * FROM users');
    $users = [];
    while ($user = $stmt->fetchObject('User')) {
        $users[] = $user->toArray();
    }
    echo json_encode($users);
}
?>

အဆင့် 5: API ကိုစမ်းသပ်ပါ

သင်၏ local server ကိုဖွင့်ပါ။

 php -S localhost:8000

ထို့နောက်အောက်ပါလိပ်စာကိုစစ်ဆေးပါ။

အမှန်တကယ်ဖြန့်ကျက်မှုတွင်ဆာဗာလိပ်စာကိုသင်၏ကိုယ်ပိုင်ဒိုမိန်းအမည်ဖြင့်အစားထိုးနိုင်သည်။

 https://api.gitbox.net/api.php?id=1

အကျဉ်းချုပ်

PDostatement :: fetterobject နှင့်အတူဒေတာဘေ့စ်မှတ်တမ်းများကိုစိတ်ကြိုက်အရာဝတ်ထုများအဖြစ်မြေပုံဆွဲထုတ်နိုင်ပြီး, Object-Oriented Design Design နှင့်အတူ၎င်းသည်စီမံကိန်းကို ပိုမို. လုပ်ရုံသာမကနောက်ဆက်တွဲချဲ့ထွင်မှုများပြုလုပ်ရန်သာမကနောက်ဆက်တွဲတိုးချဲ့ခြင်းများပြုလုပ်နိုင်သည်။