За последние 24 часа нас посетили 23622 программиста и 1524 робота. Сейчас ищут 818 программистов ...

Как отыскать __callStatic() метод?

Тема в разделе "PHP для новичков", создана пользователем Walk, 19 янв 2019.

  1. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Есть проект, в нем есть наблюдаю примерно такой код:

    PHP:
    1. /**
    2. * @method static self testMethod($param1, $param2)
    3. */
    4. class Shirt extends Clothes {}
    5.  
    6. class Clothes
    7. {
    8.     public static function __callStatic($method, $params) {}
    9. }
    10.  
    11. Shirt::testMethod('param1', 'param2');
    Как понять, что в итоге обрабатывает testMethod(), если поиск по всему проекту, с указанием этого метода, находит только вызовы метода и комментарий в классе?

    Метод __callStatic в родительском классе пустой.

    Знакомый посоветовал через xDebug проследить, но с его настройкой под проект пока геморрой один. Ищу альтернативные способы.
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.814
    Симпатии:
    1.332
    Адрес:
    Лень
    а ты пробни стэк трейс вызвать

    PHP:
    1. <?php
    2.  
    3. error_reporting ( E_ALL );
    4.  
    5. /*
    6. ...
    7. */
    8. try
    9. {
    10.     Shirt::testMethod ([], []);
    11. }
    12. catch ( Throwable $t )
    13. {
    14.     echo $t -> getTraceAsString();
    15. }
     
  3. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    мне всегда руки хочется оторвать тому кто так делает.. не понимаю зачем.. какой то странный уровень абстракции)) более того не понятно как это реализовано)) можете пинать и называть нубом)) но какое то извращение ИМХО)) что это за метод который что то вроде делает)) но где это все происходит непонятно))
     
    Dmitriy A. Arteshuk и Walk нравится это.
  4. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @Walk, очевидно, это просто хитрый метод избавиться от "Fatal error: Call to undefined method Shirt::testMethod() in..."