موضوعات پیشرفته
·
۸ دقیقه مطالعه
JSON و استثناها
JSON
برای تبادل داده با فرانتاند و APIها:
$data = ["name" => "آرنا", "level" => 5];
$json = json_encode($data, JSON_UNESCAPED_UNICODE); // برای فارسی
// {"name":"آرنا","level":5}
$back = json_decode($json, true); // true = آرایهٔ انجمنی
echo $back["name"];
JSON_UNESCAPED_UNICODEرا برای فارسی حتماً بگذار، وگرنه حروف به کد تبدیل میشوند.
خروجی JSON از یک API ساده
header("Content-Type: application/json");
echo json_encode(["ok" => true, "data" => $items]);
استثناها (Exceptions)
try {
if ($x < 0) {
throw new InvalidArgumentException("مقدار منفی");
}
riskyOperation();
} catch (Exception $e) {
echo "خطا: " . $e->getMessage();
} finally {
cleanup(); // همیشه اجرا میشود
}
استثنای سفارشی
class PaymentException extends Exception {}
throw new PaymentException("پرداخت ناموفق");
⚠️ پیام خطای فنی را به کاربر نشان نده (ممکن است اطلاعات حساس لو دهد)؛ آن را لاگ کن و پیام عمومی بده.