Переопределить метод PHP с возможностью вызова старого - PullRequest
2 голосов
/ 18 января 2012

У меня есть объект с method1 ();

Как я могу переместить method1, например, в method1_origin () и создать новый метод1 с дополнительной функциональностью и возможностью вызывать method1_origin ()?

Я думаю, что рефлексия может помочь, но я не знаю как.

Ответы [ 3 ]

3 голосов
/ 18 января 2012

Вы можете вызвать функцию parent .

class new_object extends old_object
{
    function method1()
    {
        // overwrite function here
    }
    function method1_origin()
    {
        // call old function
        parent::method1();
    }
}
1 голос
/ 18 января 2012

Basic OOP, вы можете найти здесь полезную информацию: http://php.net/manual/en/language.oop5.php

0 голосов
/ 18 января 2012

Вам необходимо продлить класс

class core { 

        public function __construct(){}


        protected function method_orig()
        {

        }
}

-

class someclass extends core{


       public function __construct()
       {
            parent::__construct();
       }

       public function method_new()
      {
          parent::method_orig(); 
      }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...