Doctrine Common
  1. Doctrine Common
  2. DCOM-219

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


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


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



      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 .


        Doctrine Bot created issue -
        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:
            Benjamin Eberlei
            Doctrine Bot
          • Votes:
            0 Vote for this issue
            1 Start watching this issue


            • Created: