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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- HttpFoundation: คำขอและการตอบกลับ
- คอนเทนเนอร์ DependencyInjection
- EventDispatcher: อีเวนต์แบบแยกส่วน
- คอมโพเนนต์คอนโซล: คำสั่ง CLI