За последние 24 часа нас посетили 22696 программистов и 1265 роботов. Сейчас ищут 856 программистов ...

метод __invoke

Тема в разделе "PHP для новичков", создана пользователем vintbolt, 13 сен 2021.

  1. vintbolt

    vintbolt Новичок

    С нами с:
    6 авг 2021
    Сообщения:
    6
    Симпатии:
    0
    Существует ли способ обойти данный недуг?

    PHP:
    1. class One
    2. {
    3.     public function __invoke()
    4.     {
    5.         //какая-либо логика
    6.     }
    7. }
    8.  
    9. class Two
    10. {
    11.     public $one;
    12.  
    13.     public function __construct(One $one)
    14.     {
    15.         $this->one = $one;
    16.  
    17.         $this->one(); //Обращаемся к объекту класса One как к функции, но интерпретатор пытается вызвать метод one() класса Two
    18.     }
    19. }
     
  2. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    861
    Симпатии:
    132
    PHP 7.4 (другие сами пощупаете)
    PHP:
    1. ($this->one)();
     
    vintbolt нравится это.
  3. vintbolt

    vintbolt Новичок

    С нами с:
    6 авг 2021
    Сообщения:
    6
    Симпатии:
    0
    Благодарен