0Pricing
PHP Academy · บทเรียน

HttpFoundation: คำขอและการตอบกลับ

ห่อ superglobals ไว้ในคำขอของ HttpFoundation และสร้างออบเจ็กต์การตอบกลับ

HttpFoundation: คำขอและการตอบกลับ เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

HttpFoundation คืออะไร

Symfony HttpFoundation เป็นคอมโพเนนต์ PHP แบบแยกอิสระที่ห่อหุ้มตัวแปรพิเศษของ HTTP ดิบ ($_GET, $_POST, $_SERVER) ให้อยู่ในคลาส OO ที่สะอาดและใช้งานง่าย

การติดตั้ง HttpFoundation

ติดตั้งเป็นแพ็กเกจแบบแยกอิสระผ่าน Composer

$ composer require symfony/http-foundation

การสร้างคำขอจากตัวแปรโกลบอล

จับคำขอ HTTP ปัจจุบันจากตัวแปรพิเศษของ 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

การอ่านข้อมูลนำเข้า

คำขอมีถุงข้อมูลแบบระบุชนิดสำหรับแหล่งข้อมูลนำเข้าประเภทต่าง ๆ

<?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

เมธอดของคำขอ

ตรวจสอบเมธอดและเส้นทางของ 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

การสร้างการตอบกลับ

สร้างและส่งการตอบกลับ 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 ห่อหุ้มตัวแปรพิเศษของ HTTP ไว้ใน Request และสร้างการตอบกลับด้วย Response, JsonResponse, RedirectResponse ซึ่งเป็นชั้น HTTP ที่ Laravel และ Symfony ใช้ร่วมกัน

ตรวจสอบอย่างรวดเร็ว

ถุงข้อมูลใดใช้เข้าถึงพารามิเตอร์คำค้นหา GET ในคำขอของ HttpFoundation

คำถามที่พบบ่อย

บทเรียน “HttpFoundation: คำขอและการตอบกลับ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “HttpFoundation: คำขอและการตอบกลับ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “HttpFoundation: คำขอและการตอบกลับ”

ห่อ superglobals ไว้ในคำขอของ HttpFoundation และสร้างออบเจ็กต์การตอบกลับ คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “HttpFoundation: คำขอและการตอบกลับ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม

ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. HttpFoundation: คำขอและการตอบกลับ
  2. คอนเทนเนอร์ DependencyInjection
  3. EventDispatcher: อีเวนต์แบบแยกส่วน
  4. คอมโพเนนต์คอนโซล: คำสั่ง CLI
← กลับไปที่ PHP Academy