Uploaded image for project: 'Doctrine Common'
  1. Doctrine Common
  2. DCOM-219

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


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


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

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


      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 .


        doctrinebot Doctrine Bot created issue -
        beberlei Benjamin Eberlei made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 2.4.2 [ 10525 ]
        Resolution Fixed [ 1 ]


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


            • Created: