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
Drak 7f33b33aa6 Refactor SessionStorage to NativeSessionStorage.
Native here refers to the fact the session storage interacts with real PHP sessions.
2012-03-14 20:59:57 +05:45
..
File Added support for SVG mime type 2012-02-14 11:06:36 +00:00
Resources/stubs [HttpFoundation] Documentation. 2012-03-01 07:19:15 +05:45
Session Refactor SessionStorage to NativeSessionStorage. 2012-03-14 20:59:57 +05:45
ApacheRequest.php [HttpFoundation] fixed ApacheRequest 2011-12-21 13:57:56 -08:00
composer.json Removed version field 2012-02-27 09:59:20 +01:00
Cookie.php [HttpFoundation] Cookie values should not be restricted 2011-11-23 11:38:46 +01:00
FileBag.php [DoctrineBridge] fixed some CS 2011-12-13 10:22:12 +01:00
HeaderBag.php [HttpFoundation] tagged public @api 2011-07-20 10:06:02 +02:00
LICENSE Updated LICENSE files copyright 2012-02-22 10:10:37 +01:00
ParameterBag.php fixed CS 2012-03-02 21:43:08 +01:00
README.md [HttpFoundation] Documentation. 2012-02-22 07:07:11 +05:45
RedirectResponse.php [HttpFoundation] RedirectResponse: add the ability to retrieve the target URL, add unit tests 2012-02-06 19:09:24 +01:00
Request.php [HttpFoundation][FrameworkBundle] Separate out mock session storage and stop polluting global namespace. 2012-03-14 20:32:06 +05:45
RequestMatcher.php fixed CS 2011-12-18 14:36:25 +01:00
RequestMatcherInterface.php [HttpFoundation] tagged public @api 2011-07-20 10:06:02 +02:00
Response.php [HttpFoundation] Restore compliance with RFC2324 2012-03-11 11:04:36 +05:45
ResponseHeaderBag.php fixed CS 2011-12-18 14:36:25 +01:00
ServerBag.php merged 2.0 2012-01-16 07:44:08 +01:00
StreamedResponse.php [streaming] Do not set a Transfer-Encoding header of chunked 2012-01-02 19:50:39 +01: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.

Loading

If you are using PHP 5.3.x you must add the following to your autoloader:

// SessionHandlerInterface
if (!interface_exists('SessionHandlerInterface')) {
    $loader->registerPrefixFallback(__DIR__.'/../vendor/symfony/src/Symfony/Component/HttpFoundation/Resources/stubs');
}

Resources

Unit tests:

https://github.com/symfony/symfony/tree/master/tests/Symfony/Tests/Component/HttpFoundation