PHP Academy · Oppitunti

HttpFoundation: pyyntö ja vastaus

Käärikää superglobaalit HttpFoundation Request -olioihin ja luokaa Response-olioita.

Oppitunti 1/413 vaihetta

HttpFoundation: pyyntö ja vastaus on ilmainen PHP Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu PHP Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. PHP Academy-kurssilla on yhteensä 4 oppituntia.

Mikä on HttpFoundation?

Symfony HttpFoundation on itsenäinen PHP-komponentti, joka käärii HTTP:n raakasupertietueet ($_GET, $_POST, $_SERVER) selkeisiin olio-ohjelmointiluokkiin.

HttpFoundationin asentaminen

Asenna se itsenäisenä pakettina Composerilla.

$ composer require symfony/http-foundation

Request-olion luominen globaaleista muuttujista

Ota nykyinen HTTP-pyyntö talteen supertietueista.

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

Syötteen lukeminen

Request tarjoaa tyypitetyt säiliöt eri syötelähteille.

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

Tarkista HTTP-metodi ja polku.

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

Responsen rakentaminen

Luo ja lähetä HTTP-vastaus.

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

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

JsonResponse

Palauta JSON automaattisesti oikealla Content-Type-otsakkeella.

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

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

RedirectResponse

Ohjaa käyttäjä toiseen URL-osoitteeseen.

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

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

Otsakkeiden ja evästeiden määrittäminen

Lisää otsakkeet ja evästeet vastauksiin ennen niiden lähettämistä.

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

BinaryFileResponse

Suoratoista tiedostolataukset tehokkaasti BinaryFileResponse-luokan avulla.

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

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

StreamedResponse

StreamedResponse lähettää dataa sitä mukaa, kun sitä tuotetaan, joten se sopii suurten vientien tai reaaliaikaisen suoratoiston käsittelyyn.

Yhteenveto

HttpFoundation käärii supertietueet Request-olioon ja rakentaa vastauksia Response-, JsonResponse- ja RedirectResponse-luokilla. Se on sekä Laravelin että Symfonyn käyttämä HTTP-kerros.

Pikatarkistus

Mikä säiliö käsittelee GET-kyselyparametreja HttpFoundationin Request-oliossa?

Aloita maksutta

Opi PHP tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
49
Oppitunnit
195

Usein kysytyt kysymykset

Onko oppitunti ”HttpFoundation: pyyntö ja vastaus” ilmainen?

Kyllä – oppitunnin ”HttpFoundation: pyyntö ja vastaus” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko PHP Academy-kurssin, päivitä CoddyKit PROhon. PHP Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”HttpFoundation: pyyntö ja vastaus”?

Käärikää superglobaalit HttpFoundation Request -olioihin ja luokaa Response-olioita. Harjoittelet PHP Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni PHP Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin PHP Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”HttpFoundation: pyyntö ja vastaus”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä PHP Academy-oppitunnilla?

Kyllä. Jokainen PHP Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. HttpFoundation: pyyntö ja vastaus
  2. DependencyInjection-kontti
  3. EventDispatcher: löyhästi kytketyt tapahtumat
  4. Console-komponentti: CLI-komennot
← Takaisin: PHP Academy