Skip to content
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

[Validator] StaticMethodLoader invokes wrong method #8589

Closed
ntomka opened this issue Jul 26, 2013 · 2 comments
Closed

[Validator] StaticMethodLoader invokes wrong method #8589

ntomka opened this issue Jul 26, 2013 · 2 comments

Comments

@ntomka
Copy link

ntomka commented Jul 26, 2013

As per request of @fabpot I opened this issue.

The problem is like in #3179 but with abstract classes instead interfaces.
I described the problem and a possible sollution in that issue in a comment.

fabpot added a commit to fabpot/symfony that referenced this issue Jul 27, 2013
fabpot added a commit to fabpot/symfony that referenced this issue Jul 28, 2013
fabpot added a commit that referenced this issue Jul 28, 2013
This PR was merged into the 2.2 branch.

Discussion
----------

[Validator] Fixed StaticMethodLoader does not try to invoke methods of abstract classes anymore

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #8589
| License       | MIT
| Doc PR        |  n/a

Commits
-------

b41cf82 [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)
@fabpot fabpot closed this as completed Jul 28, 2013
fabpot added a commit that referenced this issue Aug 2, 2013
* 2.2:
  [HttpKernel] added a missing dep for dev
  [Form] fixed wrong call to setTimeZone() (closes #8644)
  Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
  [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
  [routing] added ability for apache matcher to handle array values
  removed dead code and fixed CS
  [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)

Conflicts:
	src/Symfony/Bundle/TwigBundle/TokenParser/RenderTokenParser.php
	src/Symfony/Component/Form/FormConfigBuilder.php
	src/Symfony/Component/HttpKernel/composer.json
	src/Symfony/Component/Validator/Tests/GraphWalkerTest.php
fabpot added a commit that referenced this issue Aug 2, 2013
* 2.3:
  moved some fixed dep versions from 2.2.* to ~2.2 (refs #8613)
  [HttpKernel] added a missing dep for dev
  [Form] fixed wrong call to setTimeZone() (closes #8644)
  Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
  [Form] Fixed patched forms to be valid even if children are not submitted
  Revert "[Form] Fix of "PATCH'ed forms are never valid""
  [Form] Fixed: If a form is not present in a request, it is not automatically submitted
  Fixes link indices
  [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
  Revert "[Form] Remove "value" attribute on empty_value option"
  [routing] added ability for apache matcher to handle array values
  removed dead code and fixed CS
  [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)
@marcj
Copy link

marcj commented Aug 12, 2013

@fabpot, this fix is probably wrong. In #3179 is a call of a static interface method described, which is definitely not possible in PHP, but a call of a static method of a abstract class is possible. So, I believe isAbstract needs to be replaced with isInterface.

@marcj
Copy link

marcj commented Aug 12, 2013

And to fix the issue of ntomka's comment, there should be a isAbstract check on $reflMethod.

fabpot added a commit that referenced this issue Aug 13, 2013
This PR was merged into the 2.2 branch.

Discussion
----------

[Validator] Fixed the wrong isAbstract() call in PR #8592

| Q             | A
| ------------- | ---
| Bug fix?      | [yes]
| New feature?  | [no]
| BC breaks?    | [no]
| Deprecations? | [no]
| Tests pass?   | [yes]
| Fixed tickets | [#8589]
| License       | MIT
| Doc PR        | [n/a]

Commits
-------

18896d5a [Validator] fixed the wrong isAbstract() check against the class (fixed #8589)
fabpot added a commit that referenced this issue Aug 13, 2013
* 2.2:
  corrected English grammar (s/does not exists/does not exist)
  [Process] Add more precision to Process::stop timeout
  [Process] Avoid zombie process in case of unit tests failure
  [Process] Fix #8739
  [Process] Add failing test for #8739
  [Process] Fix CS
  Fixed documentation grammar for AuthenticationManagerInterface::authenticate()
  [Validator] fixed the wrong isAbstract() check against the class (fixed #8589)
  [TwigBridge] Prevent code extension to display warning
  Use strstr instead of strpos

Conflicts:
	src/Symfony/Component/Finder/Shell/Command.php
	src/Symfony/Component/Process/Process.php
fabpot added a commit that referenced this issue Aug 14, 2013
* 2.3:
  [Process] Revert change
  [Process] Fix #8746 : slowness added in unit tests since #8741
  [Process] Fix #8742 : Signal-terminated processes are not successful
  corrected English grammar (s/does not exists/does not exist)
  [Process] Add more precision to Process::stop timeout
  [Process] Avoid zombie process in case of unit tests failure
  [Process] Fix #8739
  [Process] Add failing test for #8739
  [Process] Fix CS
  [TwigBridge] removed superflous ; when rendering form_enctype() (closes #8660)
  Fixed documentation grammar for AuthenticationManagerInterface::authenticate()
  [Validator] fixed the wrong isAbstract() check against the class (fixed #8589)
  [TwigBridge] Prevent code extension to display warning
  Fix internal sub-request creation
  [FrameworkBundle] made code more generic
  [Form] Moved auto_initialize option to the BaseType
  Use strstr instead of strpos
  Make sure ContextErrorException is loaded during compile time errors
  Fix empty process argument escaping on Windows
  Ignore null value in comparison validators

Conflicts:
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
	src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php
	src/Symfony/Component/Process/Process.php
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants