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/Routing
Fabien Potencier 5bed5f3c2c merged branch willdurand/fix-components (PR #4155)
Commits
-------

c195957 [Components] Tests/Autoloading fixes

Discussion
----------

Fix components

See #4141

----
This PR:

* configures each component to use composer to manage "dev" dependencies instead of env variables;
* adds phpunit configuration file on Filesystem component;
* fixes READMEs.

It's mergeable without any problems, but I would recommend to wait a fix in Composer in order to use `self.version` in `require`/`require-dev` sections.

Note: I kept `suggest` sections because it makes sense but this PR doesn't aim to provide useful explanations for each entry. It could be another PR, not that one.

---------------------------------------------------------------------------

by willdurand at 2012-04-30T20:43:13Z

@fabpot I reviewed each component, one by one. Now `phpunit` always works, even if tests are skipped. A simple `composer install --dev` allows to run the complete test suite. Each commit is well separated from the others. I guess, everything is ok now.

---------------------------------------------------------------------------

by Tobion at 2012-04-30T20:47:00Z

Please squash, as it makes no sense to have the same commit for each component.

---------------------------------------------------------------------------

by fabpot at 2012-05-01T14:26:11Z

Can you squash your commits before I merge? Thanks.

---------------------------------------------------------------------------

by willdurand at 2012-05-01T14:29:38Z

done

---------------------------------------------------------------------------

by fabpot at 2012-05-01T15:48:25Z

It does not seem that the commits are squashed.

---------------------------------------------------------------------------

by willdurand at 2012-05-01T15:54:08Z

done
2012-05-01 17:59:34 +02:00
..
Annotation fixed some phpdoc 2012-01-11 15:46:50 +01:00
Exception [Routing] added missing public @api 2011-06-14 15:40:43 +02:00
Generator merged 2.0 2012-04-25 12:18:06 +02:00
Loader [Routing] Added the possibility to define options for imported resources 2012-04-04 03:36:42 +02:00
Matcher fixed CS 2012-05-01 15:23:48 +02:00
Tests merged branch willdurand/fix-components (PR #4155) 2012-05-01 17:59:34 +02:00
.gitignore [Components] Tests/Autoloading fixes 2012-05-01 17:51:41 +02:00
CHANGELOG.md [Routing] added CHANGELOG 2012-04-26 22:26:05 +02:00
CompiledRoute.php [Routing] moved protected to private 2011-03-23 19:25:56 +01:00
composer.json [Components] Tests/Autoloading fixes 2012-05-01 17:51:41 +02:00
LICENSE Updated LICENSE files copyright 2012-02-22 10:10:37 +01:00
phpunit.xml.dist [Components] Tests/Autoloading fixes 2012-05-01 17:51:41 +02:00
README.md [Components] Tests/Autoloading fixes 2012-05-01 17:51:41 +02:00
RequestContext.php moved some logic from HttpKernel to Routing (make it reusable) 2011-10-10 13:07:36 +02:00
RequestContextAwareInterface.php moved configuration of the default HTTP and HTTPS ports from RouterListener to RequestContext 2011-10-10 13:24:45 +02:00
Route.php [Routing] Implement bug fixes and enhancements 2012-04-11 15:45:27 +02:00
RouteCollection.php [Routing] Implement bug fixes and enhancements 2012-04-11 15:45:27 +02:00
RouteCompiler.php Merge branch '2.0' 2012-04-18 11:42:52 +02:00
RouteCompilerInterface.php [Routing] small refactoring + language fixes 2012-04-12 21:23:30 +02:00
Router.php [Routing] Updated Router::match and Router::generate documentation 2012-03-01 20:27:36 +01:00
RouterInterface.php [Routing] fixed incorrect grammar in docblock 2012-02-26 22:31:30 +00:00

Routing Component

Routing associates a request with the code that will convert it to a response.

The example below demonstrates how you can set up a fully working routing system:

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Matcher\UrlMatcher;
use Symfony\Component\Routing\RequestContext;
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;

$routes = new RouteCollection();
$routes->add('hello', new Route('/hello', array('controller' => 'foo')));

$context = new RequestContext();

// this is optional and can be done without a Request instance
$context->fromRequest(Request::createFromGlobals());

$matcher = new UrlMatcher($routes, $context);

$parameters = $matcher->match('/hello');

Resources

You can run the unit tests with the following command:

phpunit

If you also want to run the unit tests that depend on other Symfony Components, install dev dependencies before running PHPUnit:

php composer.phar install --dev