PHP Academy · leksjon

HttpFoundation: Forespørsel og svar

Pakk inn superglobale variabler i HttpFoundation Request og bygg Response-objekter.

Leksjon 1 av 413 trinn

HttpFoundation: Forespørsel og svar er en gratis leksjon i PHP Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i PHP Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i PHP Academy inneholder totalt 4 leksjoner.

Hva er HttpFoundation?

Symfony HttpFoundation er en frittstående PHP-komponent som pakker inn de rå HTTP-superglobalene ($_GET, $_POST, $_SERVER) i ryddige, objektorienterte klasser.

Installere HttpFoundation

Installer den som en frittstående pakke via Composer.

$ composer require symfony/http-foundation

Opprette en Request fra globale variabler

Hent den gjeldende HTTP-forespørselen fra superglobalene.

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

Lese inndata

Request tilbyr typede beholdere for ulike inndatakilder.

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

Kontroller HTTP-metoden og banen.

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

Bygge en Response

Opprett og send et HTTP-svar.

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

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

JsonResponse

Returner JSON med riktig Content-Type-header automatisk.

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

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

RedirectResponse

Omdiriger brukeren til en annen URL.

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

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

Angi headere og informasjonskapsler

Legg til headere og informasjonskapsler i svarene før de sendes.

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

BinaryFileResponse

Strøm filnedlastinger effektivt med BinaryFileResponse.

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

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

StreamedResponse

StreamedResponse sender data etter hvert som de genereres, noe som er ideelt for store eksporter eller strømming i sanntid.

Sammendrag

HttpFoundation pakker inn superglobalene i Request og bygger svar med Response, JsonResponse og RedirectResponse. Det er HTTP-laget som brukes av både Laravel og Symfony.

Hurtigsjekk

Hvilken bag gir tilgang til GET-spørringsparametere i en HttpFoundation Request?

Gratis å komme i gang

Lær deg PHP med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
49
Leksjoner
195

Ofte stilte spørsmål

Er leksjonen «HttpFoundation: Forespørsel og svar» gratis?

Ja – hele teksten i «HttpFoundation: Forespørsel og svar» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av PHP Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i PHP Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «HttpFoundation: Forespørsel og svar»?

Pakk inn superglobale variabler i HttpFoundation Request og bygg Response-objekter. Du øver på PHP Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med PHP Academy?

Ingen tidligere erfaring er nødvendig. PHP Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «HttpFoundation: Forespørsel og svar»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne PHP Academy-leksjonen?

Ja. Alle PHP Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. HttpFoundation: Forespørsel og svar
  2. DependencyInjection-containeren
  3. EventDispatcher: Frikoblede hendelser
  4. Console-komponenten: CLI-kommandoer
← Tilbake til PHP Academy