مسارات API ووحدات تحكم الموارد
سجّلوا مسارات RESTful وأنشئوا وحدات تحكم الموارد باستخدام Artisan
مسارات API ووحدات تحكم الموارد درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.
مسارات API في Laravel
عرّف مسارات API في routes/api.php. تُسبَق هذه المسارات تلقائيًا بالبادئة /api وتستخدم مجموعة البرامج الوسيطة api (عديمة الحالة، من دون جلسات أو ملفات تعريف ارتباط).
مسار API أساسي
أعد JSON من دالة مجهولة.
<?php
Route::get("/users/{id}", function (int $id) {
$user = User::findOrFail($id);
return response()->json($user);
});مسارات موارد API
يسجّل Route::apiResource() خمسة مسارات RESTful (مع تخطي create وedit اللذين يعرضان النماذج).
<?php
// routes/api.php
use App\Http\Controllers\Api\UserController;
Route::apiResource("users", UserController::class);
// GET /api/users → index
// POST /api/users → store
// GET /api/users/{user} → show
// PUT /api/users/{user} → update
// DELETE /api/users/{user} → destroyإنشاء متحكم API
استخدم العلم --api لإنشاء متحكم من دون أسلوبي create وedit.
$ php artisan make:controller Api/UserController --api --model=Userمثال على متحكم API
يعيد متحكم API استجابات JSON.
<?php
namespace App\Http\Controllers\Api;
class UserController extends Controller
{
public function index(): JsonResponse
{
return response()->json(User::paginate(15));
}
public function show(User $user): JsonResponse
{
return response()->json($user);
}
public function store(StoreUserRequest $request): JsonResponse
{
$user = User::create($request->validated());
return response()->json($user, 201);
}
public function destroy(User $user): JsonResponse
{
$user->delete();
return response()->json(null, 204);
}
}رموز حالة HTTP
أعد رموز الحالة المناسبة: 200 (OK)، و201 (Created)، و204 (No Content)، و400 (Bad Request)، و401 (Unauthorized)، و403 (Forbidden)، و404 (Not Found)، و422 (Unprocessable Entity).
التحقق من Form Request
استخدم Form Requests لقواعد تحقق نظيفة وقابلة لإعادة الاستخدام.
$ php artisan make:request StoreUserRequestمثال StoreUserRequest
عرّف القواعد والتفويض في فئة الطلب.
<?php
class StoreUserRequest extends FormRequest
{
public function authorize(): bool { return true; }
public function rules(): array {
return [
"name" => "required|string|max:255",
"email" => "required|email|unique:users",
];
}
}مسارات API المجمّعة
جمّع مسارات API باستخدام البادئة ومساحة الأسماء.
<?php
Route::prefix("v1")->middleware("auth:sanctum")->group(function () {
Route::apiResource("posts", PostController::class);
Route::apiResource("users", UserController::class);
});except() وonly()
استبعد مسارات محددة من تسجيل المورد أو قيّدها.
<?php
Route::apiResource("users", UserController::class)->only(["index", "show"]);
Route::apiResource("posts", PostController::class)->except(["destroy"]);الموارد المتداخلة
سجّل مسارات الموارد المتداخلة للنماذج المرتبطة.
<?php
Route::apiResource("users.posts", UserPostController::class);
// GET /api/users/{user}/posts/{post}الملخص
استخدم Route::apiResource() لمسارات API المتوافقة مع RESTful في routes/api.php. أنشئ المتحكمات باستخدام --api. أعد JSON مع رموز حالة HTTP المناسبة. نفّذ التحقق باستخدام Form Requests.
تحقق سريع
كم عدد المسارات التي يسجّلها apiResource()؟
الأسئلة الشائعة
هل درس «مسارات API ووحدات تحكم الموارد» مجاني؟
نعم — نص درس «مسارات API ووحدات تحكم الموارد» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.
ماذا ستتعلم في «مسارات API ووحدات تحكم الموارد»؟
سجّلوا مسارات RESTful وأنشئوا وحدات تحكم الموارد باستخدام Artisan تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟
لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «مسارات API ووحدات تحكم الموارد»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟
نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مسارات API ووحدات تحكم الموارد
- موارد API واستجابات JSON
- المصادقة باستخدام Laravel Sanctum
- تحديد معدل الطلبات وإصدار API