8f0277d084
* 2.7: (26 commits) removed Propel bridge from Symfony Core [2.7] Added deprecation warning for get request service in controller [Serializer] Normalizers can serialize collections and scalars [FrameworkBundle] Fix title and placeholder rendering in php form templates. [Process] added a deprecation notice [TwigBridge] Removed duplicated code from TwigRenderer [Translator][Logging] implement TranslatorBagInterface. RequestDataCollector - small fix renamed composer.phar to composer to be consistent with the Symfony docs [FrameworkBundle] bumped min version of Routing to 2.3 removed composer --dev option everywhere fixed a test [Console] Fixed output bug, if escaped string in a formatted string. “console help” ignores --raw option Fix form icon position in web profiler [Security] Remove ContextListener's onKernelResponse listener as it is used Revert "minor #12652 [HttpFoundation] [Hackday] #9942 test: Request::getContent() for null value (skler)" Revert "fixed assertion" fixed assertion [HttpFoundation] [Hackday] #9942 test: Request::getContent() for null value ... Conflicts: composer.json src/Symfony/Bridge/Propel1/composer.json src/Symfony/Bridge/Twig/composer.json src/Symfony/Component/Console/Tests/Helper/LegacyTableHelperTest.php |
||
---|---|---|
.. | ||
File | ||
Resources/stubs | ||
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.
Loading
If you are not using Composer but 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
You can run the unit tests with the following command:
$ cd path/to/Symfony/Component/HttpFoundation/
$ composer install
$ phpunit