Bug #45463

Routing includes object arguments even though it should not

Added by Karsten Dambekalns over 2 years ago. Updated over 2 years ago.

Status:Resolved Start date:2013-02-13
Priority:Should have Due date:
Assigned To:Bastian Waidelich % Done:

100%

Category:MVC - Routing
Target version:-
PHP Version: Complexity:
Has patch:No Affected Flow version:Git master

Description

Given this route as the only active route:

-
  name: 'foo'
  uriPattern: 'foo(/{@action})'
  defaults:
    '@package': 'Acme.Demo'
    '@controller': 'Foo'
    '@action': 'index'

and a controller with this action:

/**
 * @param \Acme\Demo\Domain\Model\Foo $foo
 * @param string $bar
 */
public function removeBarAction(Foo $foo, $bar) {}

The following all works fine and results in a link being built (foo is an object):

<f:link.action action="removeBar" arguments="{foo: foo}">
<f:link.action action="removeBar" arguments="{xyz: foo}">
<f:link.action action="removeBar" arguments="{foo: foo, bar: foo}">

But this does not work (bar is a string):

<f:link.action action="removeBar" arguments="{foo: foo, bar: bar}">

The following happens inside the router:


So the arguments that are objects are considered internal, because there __ is involved…

Associated revisions

Revision 85ceb84e
Added by Bastian Waidelich over 2 years ago

[BUGFIX] Routing includes object arguments even though it should not

Route::resolve() considered "__identity" arguments as internal and ignored them,
if they were not part of the respective Route defaults or uriPattern.
This change fixes this by only iterating through sub requests (marked with a "--")

Change-Id: I63d3c302524f832224bf0fdc7a6255cb631d16c8
Fixes: #45463
Releases: master, 2.0

Revision 890fda2e
Added by Bastian Waidelich over 2 years ago

[BUGFIX] Routing includes object arguments even though it should not

Route::resolve() considered "__identity" arguments as internal and ignored them,
if they were not part of the respective Route defaults or uriPattern.
This change fixes this by only iterating through sub requests (marked with a "--")

Change-Id: I63d3c302524f832224bf0fdc7a6255cb631d16c8
Fixes: #45463
Releases: master, 2.0

History

#1 Updated by Bastian Waidelich over 2 years ago

  • Status changed from New to Accepted

#2 Updated by Gerrit Code Review over 2 years ago

  • Status changed from Accepted to Under Review

Patch set 1 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/18302

#3 Updated by Gerrit Code Review over 2 years ago

Patch set 2 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/18302

#4 Updated by Gerrit Code Review over 2 years ago

Patch set 3 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/18302

#5 Updated by Gerrit Code Review over 2 years ago

Patch set 1 for branch 2.0 has been pushed to the review server.
It is available at https://review.typo3.org/19092

#6 Updated by Bastian Waidelich over 2 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

Also available in: Atom PDF