-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
WIP [Routing] add scheme and method route definition option #6049
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@@ -98,6 +122,8 @@ public function unserialize($data) | |||
$this->defaults = $data['defaults']; | |||
$this->requirements = $data['requirements']; | |||
$this->options = $data['options']; | |||
$this->schemes = $data['schemes']; | |||
$this->methods = $data['options']; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$data['options'] => $data['methods'] ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, thx
it uses an attribute list instead of multiple scheme/method elements that I also experimented with
@fabpot: Instead of the current xml attributes <route id="article_edit" pattern="/article/{id}}">
<method>POST</method>
<method>PUT</method>
<scheme>https</scheme>
</route> But I think it's not that good as you need to specify multiple elements without key. <import resource="file.xml">
<method></method>
</route> So I think a whitespace separated attribute list is the better choice. There is also an XSD type for such things (see implementation |
@Tobion I'd go with comma separated list of methods and schemes in xml and strip the spaces. BTW I'm pretty sure that schemes should be schemas |
Well, I used a whitespace separated list because it seems that this is the standard ways of using lists in XML. Because the xsd:list explicitly expects a whitespace separated list. |
I suggested the comma separated because, I can see myself automatically writing them like that as this is how I usually write lists. |
I could implement it so that both |
This PR was merged into the master branch. Commits ------- 9fc7def added the UPGRADE file for Symfony 3.0 e84cad2 [Routing] updated CHANGELOG 65eca8a [Routing] added new schemes and methods options to the annotation loader 5082994 [Routing] renamed pattern to path b357caf [Routing] renamed hostname pattern to just hostname e803f46 made schemes and methods available in XmlFileLoader d374e70 made schemes and methods available in YamlFileLoader 2834e7e added scheme and method setter in RouteCollection 10183de make scheme and method requirements first-class citizen in Route Discussion ---------- Routing options | Q | A | ------------- | --- | Bug fix? | no | New feature? | no | BC breaks? | no | Deprecations? | yes | Tests pass? | yes | Fixed tickets | #5989, #5990, #6049 | License | MIT In #5989, it has unanimously been decided to renamed `hostname_pattern` to `hostname` and `pattern` to `path`. That makes a lot of sense and I would like to do the renaming now as `hostname_pattern` is new in Symfony 2.2, so I'd like to avoid breaking BC just after the release. As we are modifying the route options, I've also included changes introduced by @Tobion in #6049 which were discussed in #5990. As everything is BC, I think it's wise to include that in 2.2. What do you think? --------------------------------------------------------------------------- by Tobion at 2013-01-14T18:25:53Z I agree it should be done in 2.2. Thanks for working on it. --------------------------------------------------------------------------- by vicb at 2013-01-14T23:11:12Z @fabpot "Everything is BC" until it breaks BC in 3.0, that's why I'd like to see [deprecations in PR summary](symfony/symfony-docs#2116) what do you think ? --------------------------------------------------------------------------- by vicb at 2013-01-14T23:16:40Z it would also be great to update the CHANGELOG with deprecations (it could also help people answering your question) --------------------------------------------------------------------------- by fabpot at 2013-01-15T07:07:03Z @vicb: I've just updated the CHANGELOG and created the UPGRADE file for 3.0. --------------------------------------------------------------------------- by vicb at 2013-01-15T07:15:32Z @fabpot thanks.
This PR was merged into the 2.2 branch. Commits ------- 54c333d [Routing] unify and fix the loader tests 41ad9d8 [Routing] make xml loader more tolerant Discussion ---------- [Routing] make xml loader more tolerant schemes and methods may also be delimited by whitespace, comma or pipe. Fixes symfony#6049 (comment) this eases migration as now `methods="GET|POST"` also works the second commit unifies the tests and fixes some strange assertions that were useless | Q | A | ------------- | --- | Bug fix? | [yes] | New feature? | [yes but not really] | BC breaks? | [no] | Deprecations? | [no] | Tests pass? | [yes] | License | MIT
fixes #5990
BC break: no
Deprecations: specifying
_scheme
and_method
in the requirements section has been deprecated. you should use the dedicatedschemes
andmethods
config options instead. for BC both possibilities are synchronized.Before
After
Before
After
WIP