This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component/HttpFoundation
Fabien Potencier e3f09df02a Merge branch '2.7' into 2.8
* 2.7:
  removed @covers annotations in tests
  removed all @covers annotations
  [PropertyAccess] Major performance improvement
2015-11-02 21:29:24 +01:00
..
File Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00
Session Rely on iconv and symfony/polyfill-* 2015-10-28 03:15:07 +01:00
Tests Merge branch '2.7' into 2.8 2015-11-02 21:29:24 +01:00
.gitignore Added missing files .gitignore 2013-07-21 14:12:18 +02:00
AcceptHeader.php [2.3] CS And DocBlock Fixes 2014-12-22 16:58:09 +01:00
AcceptHeaderItem.php fixed types in phpdocs 2014-04-16 12:30:19 +02:00
ApacheRequest.php [HttpFoundation] do not use server variable PATH_INFO because it is already decoded and thus symfony is fragile to double encoding of the path 2013-04-12 17:03:10 +02:00
BinaryFileResponse.php fixes CS 2015-08-24 09:13:45 +02:00
CHANGELOG.md deprecate finding deep items in request parameters 2015-09-30 09:55:52 +02:00
composer.json Merge branch '2.7' into 2.8 2015-10-30 13:15:42 -07:00
Cookie.php remove api tags from code 2015-09-28 19:11:22 +02:00
ExpressionRequestMatcher.php [HttpFoundation] added ExpressionRequestMatcher 2013-09-19 12:59:11 +02:00
FileBag.php remove api tags from code 2015-09-28 19:11:22 +02:00
HeaderBag.php Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00
IpUtils.php [HttpFoundation] Fixes /0 subnet handling in IpUtils 2015-10-19 13:54:29 +02:00
JsonResponse.php Rely on iconv and symfony/polyfill-* 2015-10-28 03:15:07 +01:00
LICENSE Updated copyright to 2015 2015-01-01 13:56:52 +01:00
ParameterBag.php Merge branch '2.7' into 2.8 2015-10-30 13:15:42 -07:00
phpunit.xml.dist Merge branch '2.3' into 2.7 2015-10-11 11:39:48 +02:00
README.md Rely on iconv and symfony/polyfill-* 2015-10-28 03:15:07 +01:00
RedirectResponse.php remove api tags from code 2015-09-28 19:11:22 +02:00
Request.php Merge branch '2.7' into 2.8 2015-10-18 22:23:24 +02:00
RequestMatcher.php Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00
RequestMatcherInterface.php remove api tags from code 2015-09-28 19:11:22 +02:00
RequestStack.php unified return null usages 2014-04-18 22:38:54 +02:00
Response.php Merge branch '2.7' into 2.8 2015-10-13 18:11:28 +02:00
ResponseHeaderBag.php Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00
ServerBag.php Handled bearer authorization header in REDIRECT_ form 2015-02-10 11:35:13 +08:00
StreamedResponse.php Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00

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