За последние 24 часа нас посетили 20208 программистов и 1081 робот. Сейчас ищут 769 программистов ...

Как это работает?

Тема в разделе "PHP для новичков", создана пользователем Aleksandr.B, 2 фев 2023.

  1. Aleksandr.B

    Aleksandr.B Новичок

    С нами с:
    2 фев 2023
    Сообщения:
    151
    Симпатии:
    39
    Адрес:
    Барнаул
    Код (Text):
    1. var_dump([ new \App\Service\CsvExporter, 'createResponseFromQueryBuilder'](...));exit();
     
  2. lamac0

    lamac0 Новичок

    С нами с:
    4 авг 2022
    Сообщения:
    42
    Симпатии:
    0
    это вызов метода createResponseFromQueryBuilder из класса CsvExporter в пространстве имен \App\Service
    код выводит информацию о возвращаемом значении метода createResponseFromQueryBuilder
    '...' спред-оператор используется для расширения массива для передачи его элементов как отдельные аргументы
     
    #2 lamac0, 10 фев 2023
    Последнее редактирование: 10 фев 2023
  3. Aleksandr.B

    Aleksandr.B Новичок

    С нами с:
    2 фев 2023
    Сообщения:
    151
    Симпатии:
    39
    Адрес:
    Барнаул
    Нет. Код возвращает входящие параметры функции createResponseFromQueryBuilder класса CsvExporter. Меня интересует где почитать, конкретно об этом случае.
    Здесь массив вызывается, как функция с параметрами в виде '...', и только в таком виде код возвращает параметры функции, используется для рефлексии. Работает php 8.1
     
  4. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.789
    Симпатии:
    646
    var_dump умеет получать инфу о параметрах ф-ции. А (...), насколько понимаю, просто указывает, что это callable, а не массив (и не результат вызова метода).
     
    #4 miketomlin, 10 фев 2023
    Последнее редактирование: 10 фев 2023
  5. Aleksandr.B

    Aleksandr.B Новичок

    С нами с:
    2 фев 2023
    Сообщения:
    151
    Симпатии:
    39
    Адрес:
    Барнаул
    Похожая конструкция используется в ядре Symfony для внедрения зависимостей в методы, поэтому здесь дело не в var_dump. При этом в 7 версии php не работает.
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.789
    Симпатии:
    646
  7. Aleksandr.B

    Aleksandr.B Новичок

    С нами с:
    2 фев 2023
    Сообщения:
    151
    Симпатии:
    39
    Адрес:
    Барнаул