a4f3baae37
* 3.0: [ClassLoader] Use symfony/polyfill-apcu [HttpFoundation][Cookie] Cookie DateTimeInterface fix bumped Symfony version to 2.8.3 updated VERSION for 2.8.2 updated CHANGELOG for 2.8.2 bumped Symfony version to 2.7.10 updated VERSION for 2.7.9 updated CHANGELOG for 2.7.9 bumped Symfony version to 2.3.38 updated VERSION for 2.3.37 update CONTRIBUTORS for 2.3.37 updated CHANGELOG for 2.3.37 added missing requirement removed obsolete tests, fixed composer.json do not ship with a custom rng implementation [Console] HHVM read input stream bug Fix max width for multibyte keys in choice question [Console] Display console application name even when no version set Remove calls to non-existing method Remove empty statements. |
||
---|---|---|
.. | ||
File | ||
Session | ||
Tests | ||
.gitignore | ||
AcceptHeader.php | ||
AcceptHeaderItem.php | ||
ApacheRequest.php | ||
BinaryFileResponse.php | ||
CHANGELOG.md | ||
composer.json | ||
Cookie.php | ||
ExpressionRequestMatcher.php | ||
FileBag.php | ||
HeaderBag.php | ||
IpUtils.php | ||
JsonResponse.php | ||
LICENSE | ||
ParameterBag.php | ||
phpunit.xml.dist | ||
README.md | ||
RedirectResponse.php | ||
Request.php | ||
RequestMatcher.php | ||
RequestMatcherInterface.php | ||
RequestStack.php | ||
Response.php | ||
ResponseHeaderBag.php | ||
ServerBag.php | ||
StreamedResponse.php |
HttpFoundation Component
HttpFoundation defines an object-oriented layer for the HTTP specification.
It provides an abstraction for requests, responses, uploaded files, cookies, sessions, ...
In this example, we get a Request object from the current PHP global variables:
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
$request = Request::createFromGlobals();
echo $request->getPathInfo();
You can also create a Request directly -- that's interesting for unit testing:
$request = Request::create('/?foo=bar', 'GET');
echo $request->getPathInfo();
And here is how to create and send a Response:
$response = new Response('Not Found', 404, array('Content-Type' => 'text/plain'));
$response->send();
The Request and the Response classes have many other methods that implement the HTTP specification.
Resources
You can run the unit tests with the following command:
$ cd path/to/Symfony/Component/HttpFoundation/
$ composer install
$ phpunit