بعد از این درس دقیقاً چه بلدی؟
- میتوانی «Route» را با مثال همین درس توضیح بدهی.
- میدانی «شناسه منبع» کجای مسئله به کار میآید.
- تغییر پیشنهادی درس را اجرا میکنی و از روی نتیجه، اشتباه را پیدا میکنی.
چهار باجه برای پروندهها
باجه دریافت، ایجاد، اصلاح و حذف کارهای متفاوتی دارند. اگر همه درخواستها را به یک باجه و یک دستور مبهم بدهیم، کنترل خطا و مجوز سخت میشود.
API مدیریت کارها باید بتواند فهرست را بخواند، یک کار بسازد، آن را تغییر دهد و حذف کند. روش HTTP و نشانی با هم مشخص میکنند کدام عمل اجرا شود.
چرا مهم است؟ بدنه JSON را میخوانیم، عنوان را بررسی میکنیم، با PDO ذخیره میکنیم و پاسخ 201 میفرستیم.
اولین تمرین تو: بدنه JSON را میخوانیم، عنوان را بررسی میکنیم، با PDO ذخیره میکنیم و پاسخ 201 میفرستیم.
اول بفهم، بعد کد بنویس
Route
ترکیب روش و مسیر است؛ مثل GET /tasks یا DELETE /tasks/7.
شناسه منبع
شناسه در مسیر میگوید درخواست روی کدام رکورد انجام شود.
پاسخ خطا
نبودن رکورد با 404 و ورودی نامعتبر با 422 پاسخ داده میشود.
ایجاد یک کار تازه
بدنه JSON را میخوانیم، عنوان را بررسی میکنیم، با PDO ذخیره میکنیم و پاسخ 201 میفرستیم.
قطعهها را به ترتیب درست بچین
روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمههای جابهجایی هم میتوانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.
کد را کامل کن و ساختار آن را بررسی کن
این درس وارد قابلیتهای سروری یا حرفهای شده است. برای امنیت سایت، کد دلخواه روی سرور اجرا نمیشود؛ بررسیگر، وجود اجزای ضروری و منطق مورد انتظار را کنترل میکند و راهنمای اصلاح میدهد.
کد را کامل کن و «بررسی ساختار» را بزن.
این مثال خطبهخط چه میگوید؟
فعلاً حفظ نکن؛ هر خط را به یک جمله ساده تبدیل کن.
- 1
<?phpاز اینجا مفسر PHP شروع به خواندن کد میکند.
- 2
$method = $_SERVER["REQUEST_METHOD"];یک مقدار با نام $method نگهداری میشود تا در خطهای بعد دوباره استفاده شود.
- 3
if ($method === "GET") {یک پرسش درست/نادرست بررسی میشود و مسیر اجرای بعدی را تعیین میکند.
- 4
echo "فهرست کارها";نتیجه این عبارت به خروجی پاسخ فرستاده میشود.
- 5
} elseif ($method === "POST") {این خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
- 6
http_response_code(201);این خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
- 7
echo "کار ساخته شد";نتیجه این عبارت به خروجی پاسخ فرستاده میشود.
- 8
} else {این خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
- 9
http_response_code(405);این خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
- 10
}مرز یک بلوک یا فراخوانی در اینجا باز یا بسته میشود.
راهنماییها مرحلهای هستند؛ اول خودت پیام خطا را بخوان.
یک شاخه DELETE اضافه کن. بعد روش PATCH را بفرست و مطمئن شو 405 میگیری، نه پاسخ موفق.
از ساده به چالشی، بدون پرش
یکی از مقدارهای مثال را عوض کن، خروجی را روی کاغذ حدس بزن و سپس بررسی کن.
یک شاخه DELETE اضافه کن. بعد روش PATCH را بفرست و مطمئن شو 405 میگیری، نه پاسخ موفق.
سناریوی «ایجاد یک کار تازه» را با نامهای واضحتر و یک حالت تازه گسترش بده.
این سه اشتباه را انجام نده
روش درخواست را بررسی نمیکنی.
حذف را با GET انجام میدهی.
بعد از UPDATE بررسی نمیکنی رکوردی با آن شناسه وجود داشته است.
5 پرسش کوتاه؛ مطمئن شو واقعاً یاد گرفتهای
برای هر پرسش یک پاسخ انتخاب کن. بعد از هر انتخاب، دلیل پاسخ را همانجا میبینی.
برای حذف منبع /tasks/7 کدام روش مناسب است؟
کدام توضیح، «Route» را دقیقتر بیان میکند؟
بهترین قدم بعد از خواندن مثال این درس چیست؟
کدام روش نشان میدهد این درس را واقعاً فهمیدهای؟
کدام رفتار احتمال خطا را در همین موضوع بیشتر میکند؟
درس را فقط وقتی تمام کن که کد را تغییر دادهای
دیدن آموزش کافی نیست؛ یک مقدار را تغییر بده، خروجی را پیشبینی کن و بعد اجرا بزن.