За последние 24 часа нас посетили 22796 программистов и 1278 роботов. Сейчас ищут 784 программиста ...

Как называется данная конструкция и как она работает? $obj1::f1()->f2();

Тема в разделе "PHP для новичков", создана пользователем Nikita2705, 10 авг 2022.

Метки:
  1. Nikita2705

    Nikita2705 Новичок

    С нами с:
    10 авг 2022
    Сообщения:
    3
    Симпатии:
    0
    Начинающий разработчик. Ребят, поясните или дайте ссылку на источник, чтобы мог понять, что это за конструкция и как она работает.
    $obj1::f1()->f2(); Как я понимаю, вызывается статический метод объекта, а далее вызывается ещё один метод... Метод в методе?)
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    PHP:
    1. class c1 { function f2() { echo "f2"; } }
    2. class c2 { static function f1() { return new c1; } }
    3.  
    4. $obj = new c2();
    5. $obj::f1()->f2();
    Как-то так, статическая функция вернула объект, у которого дёрнули метод
    --- Добавлено ---
    Не люблю этот синтаксис вызова стат. функций, но иногда нужен.