Modern PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် PDO (PHP Data Oblatters) သည်ပေါ့ပါးပြီးထိရောက်သောဒေတာဘေ့စ်ဝင်ရောက်ခွင့်ပြုသည့်မျက်နှာပြင်ကိုပေးသည်။ PDostatement :: FetchObjection function သည်ဒေတာဘေ့စ်စုံစမ်းမှုသည်အရာဝတ်ထုများကိုအရာဝတ်ထုများသို့တိုက်ရိုက်ပို့ဆောင်ရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည်။ ထုံးစံအတန်းနှင့်ပေါင်းစပ်လျှင်သင်သည်စနစ်တကျကောင်းမွန်စွာစနစ်တကျအနားယူနိုင်သည့် api ကိုလျင်မြန်စွာတည်ဆောက်နိုင်သည်။ ဤဆောင်းပါးသည် PDostatement :: Fetchobject ကို အသုံးပြု. မည်သို့အောင်မြင်ရန်မည်သို့ပြုလုပ်ရမည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။
ငြိမ်ဝပ်စွာ API ကိုတီထွင်သည့်အခါဒေတာဘေ့စ်စုံစမ်းမှုရလဒ်များသည်မကြာခဏဆိုသလိုထိန်းသိမ်းထားနိုင်သည့်နည်းလမ်းများလိုအပ်သည်။ PDostatement :: Fetchobject သည် query ရလဒ်များကိုအားဖွင့်ရန်ခွင့်ပြုသည်။
အောက်ဖော်ပြပါအသုံးပြုသူ (အသုံးပြုသူ) API ကိုတည်ဆောက်ရန်အပြည့်အဝဥပမာကိုအသုံးပြုသည်။
ကျွန်ုပ်တို့တွင်အောက်ပါဖွဲ့စည်းပုံနှင့်အတူ အသုံးပြုသူ စားပွဲပေါ်မှာရှိသည်ဆိုပါစို့:
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]');
ဒီအတန်းကိုဒေတာဘေ့စ်စုံစမ်းမှုရလဒ်များကိုမြေပုံဆွဲရန်အသုံးပြုလိမ့်မည်။
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 သို့ပြောင်းလဲရန်ကျွန်ုပ်တို့ကိုကူညီသည်။
<?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,
]);
}
?>
<?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);
}
?>
သင်၏ local server ကိုဖွင့်ပါ။
php -S localhost:8000
ထို့နောက်အောက်ပါလိပ်စာကိုစစ်ဆေးပါ။
အသုံးပြုသူအားလုံးကိုရယူပါ။ http: // localhost: 8000 / api.php
တစ်ခုတည်းအသုံးပြုသူ, e.g. ID သည် 1: // localhost: 8000 / api.php? ID = 1
အမှန်တကယ်ဖြန့်ကျက်မှုတွင်ဆာဗာလိပ်စာကိုသင်၏ကိုယ်ပိုင်ဒိုမိန်းအမည်ဖြင့်အစားထိုးနိုင်သည်။
https://api.gitbox.net/api.php?id=1
PDostatement :: fetterobject နှင့်အတူဒေတာဘေ့စ်မှတ်တမ်းများကိုစိတ်ကြိုက်အရာဝတ်ထုများအဖြစ်မြေပုံဆွဲထုတ်နိုင်ပြီး, Object-Oriented Design Design နှင့်အတူ၎င်းသည်စီမံကိန်းကို ပိုမို. လုပ်ရုံသာမကနောက်ဆက်တွဲချဲ့ထွင်မှုများပြုလုပ်ရန်သာမကနောက်ဆက်တွဲတိုးချဲ့ခြင်းများပြုလုပ်နိုင်သည်။