Callable-объекты в php

Callable-объекты в PHP — это любые объекты, которые можно вызвать как функцию

    Синтаксис callable-объектов первого класса

    Синтаксис CallableExpr(...) создаёт объект Closure из callable-объекта. Часть CallableExpr принимает любое выражение, которое можно непосредственно вызвать в грамматике PHP

    #Синтаксис callable-объекта первого класса class Foo { public function method() {echo "<br>Вызов method()<br>";} public static function staticmethod() {echo "<br>Вызов staticmethod()<br>";} public function __invoke() {echo "<br>Вызов __invoke()<br>";} } $obj = new Foo(); $classStr = 'Foo'; $methodStr = 'method'; $staticmethodStr = 'staticmethod'; $f1 = strlen(...); $f2 = $obj(...); // Вызываемый объект $f3 = $obj->method(...); $f4 = $obj->$methodStr(...); $f5 = Foo::staticmethod(...); $f6 = $classStr::$staticmethodStr(...); // Традиционный callable-синтаксис со строками и массивами $f7 = 'strlen'(...); $f8 = [$obj, 'method'](...); $f9 = [Foo::class, 'staticmethod'](...); $obj(); #Вызов __invoke() echo $f1("test"); # 4 $f2(); #Вызов __invoke() $f3(); # Вызов method() $f4(); # Вызов method() $f5(); # Вызов staticmethod() $f6(); # Вызов staticmethod() echo $f7("testing"); # 7 $f8(); # Вызов method() $f9(); # Вызов staticmethod()
    Источники
    Последнее изменение: 07.11.2024 22:33


    Связанные темы
    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ