0Pricing
PHP Academy · درس

HttpFoundation: الطلب والاستجابة

غلّفوا المتغيرات العامة الفائقة داخل Request من HttpFoundation وأنشئوا كائنات Response

HttpFoundation: الطلب والاستجابة درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.

ما هو HttpFoundation؟

يُعد Symfony HttpFoundation مكوّن PHP مستقلًا يغلّف المتغيرات العامة الفائقة الخاصة بـ HTTP ($_GET و$_POST و$_SERVER) داخل فئات نظيفة وموجّهة للكائنات.

تثبيت HttpFoundation

ثبّته كحزمة مستقلة باستخدام Composer.

$ composer require symfony/http-foundation

إنشاء Request من المتغيرات العامة

التقط طلب HTTP الحالي من المتغيرات العامة الفائقة.

<?php
use Symfony\Component\HttpFoundation\Request;

$request = Request::createFromGlobals();
echo $request->query->get("page", 1);      // GET param
echo $request->request->get("email");       // POST param
echo $request->headers->get("User-Agent"); // header

قراءة الإدخال

يوفّر Request حاويات مخصصة ومُنمّطة لمصادر الإدخال المختلفة.

<?php
$request->query->get("id");         // $_GET
$request->request->get("name");     // $_POST
$request->attributes->get("key");   // route attributes
$request->cookies->get("token");    // $_COOKIE
$request->files->get("avatar");     // $_FILES
$request->server->get("REMOTE_ADDR"); // $_SERVER

أساليب Request

تحقق من أسلوب HTTP والمسار.

<?php
$request->getMethod();       // "GET", "POST", etc.
$request->isMethod("POST"); // bool
$request->getPathInfo();    // "/api/users/1"
$request->getHost();        // "example.com"
$request->isSecure();       // true if HTTPS

إنشاء Response

أنشئ استجابة HTTP وأرسلها.

<?php
use Symfony\Component\HttpFoundation\Response;

$response = new Response("Hello World", 200, [
    "Content-Type" => "text/plain",
]);
$response->send();

JsonResponse

أعد JSON مع ضبط ترويسة Content-Type الصحيحة تلقائيًا.

<?php
use Symfony\Component\HttpFoundation\JsonResponse;

$response = new JsonResponse(["status" => "ok", "id" => 42]);
$response->send();

RedirectResponse

أعد توجيه المستخدم إلى عنوان URL آخر.

<?php
use Symfony\Component\HttpFoundation\RedirectResponse;

$response = new RedirectResponse("/dashboard", 302);
$response->send();

ضبط الترويسات وملفات تعريف الارتباط

أضف الترويسات وملفات تعريف الارتباط إلى الاستجابات قبل إرسالها.

<?php
$response->headers->set("X-Rate-Limit", "100");
$response->headers->setCookie(
    new Cookie("prefs", "dark", time() + 86400, "/", null, true, true)
);

BinaryFileResponse

أرسل تنزيلات الملفات بكفاءة باستخدام BinaryFileResponse.

<?php
use Symfony\Component\HttpFoundation\BinaryFileResponse;

$response = new BinaryFileResponse("/path/to/file.pdf");
$response->setContentDisposition("attachment", "report.pdf");
$response->send();

StreamedResponse

يرسل StreamedResponse البيانات فور إنشائها، ولذلك فهو مناسب للتصديرات الكبيرة أو البث في الوقت الفعلي.

الملخص

يغلّف HttpFoundation المتغيرات العامة الفائقة داخل Request وينشئ الاستجابات باستخدام Response وJsonResponse وRedirectResponse. وهو طبقة HTTP التي يستخدمها كل من Laravel وSymfony.

تحقق سريع

أي حاوية تُستخدم للوصول إلى معاملات استعلام GET في Request من HttpFoundation؟

الأسئلة الشائعة

هل درس «HttpFoundation: الطلب والاستجابة» مجاني؟

نعم — نص درس «HttpFoundation: الطلب والاستجابة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.

ماذا ستتعلم في «HttpFoundation: الطلب والاستجابة»؟

غلّفوا المتغيرات العامة الفائقة داخل Request من HttpFoundation وأنشئوا كائنات Response تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟

لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «HttpFoundation: الطلب والاستجابة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟

نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. HttpFoundation: الطلب والاستجابة
  2. حاوية DependencyInjection
  3. EventDispatcher: الأحداث غير المقترنة
  4. مكوّن Console: أوامر CLI
← العودة إلى PHP Academy