Doctrine Common
  1. Doctrine Common
  2. DCOM-219

[GH-301] fix hasPublicMethod implementations for abstract functions in ReflectionService

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.4.2
    • Component/s: None
    • Labels:
      None

      Description

      This issue is created automatically through a Github pull request on behalf of kmohrf:

      Url: https://github.com/doctrine/common/pull/301

      Message:

      Since php >=5.4.8 the method is_callable returns false for
      abstract functions. As the documentation for the
      hasPublicMethod method states that it is sufficient
      for the class to have a public method with that name it���s
      not necessary to check whether the method is abstract or not.

      The mentioned method is currently used in the doctrine2-orm
      project where it helps with the validation of lifecycle callbacks.
      As lifecycle callbacks must be callable but considering the fact
      that abstract functions can only be used in abstract classes it
      should be OK to rely on php for the assumption that the method
      is in fact not abstract when it is called because php would be
      unable to instantiate abstract classes.

      this fixes DDC-2708.

      there are currently no tests in this pull request. i���d volunteer for writing one or two (one for common, one for orm) but i would like to talk to someone first .

        Activity

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            Doctrine Bot
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: