Методы базовых классов Laravel
Прошу не ругать за глупые вопросы, но ответа не нашел. Где я могу посмотреть описание методов стандартных классов Laravel? Например класс Controller. В документации нашел только поверхностную инструкцию, а вот какие методы есть и что они делают - не нашел.
Спасибо за внимание.
Ответы (3 шт):
Laravel достаточно хорошо задокументирован и все публичные методы класса вы можете найти через Ctrl если вы в PHPStorm работаете. Так же желательно установить пакет ide-helper, который генерирует еще пару файлов для IDE, чтобы она лучше "ориентировалась".
Переходим к делу, если мы уже решили, что хотим знать все что под капотом некого функционала тогда у нас есть пару вариантов как это сделать.
Через xDebug, отследить все передвижение вашего запроса, там вы получите стектрейс всех загруженых классв, последовательность их выполнения итд.
Рефлексия, благо в PHP очень хорошее апи для работы с рефлексией. Вы можете на каком то этапе выполнения - словить экземпляр исследуемого класса, потом через рефлексию можете получить данные всех его полей\методов (даже приватных :D). Тут есть один момент, если класс, использует трейт
Macroableтогда, скорее всего, доп функционал будет добавляться динамически к классу, т.к у этого трейта есть статическое поле$macros- массив из анонимных функций, которые потом юзают в маг методах __call() и __callStatic(). Это поле нужно отдельно исследовать.
При всем я все же не рекомендую лезть настолько глубоко или юзать незадокументированые методы (если конечно вы не желаете работать над самим Laravel, и внести свой вклад в развитие)
Ссылка на документацию https://laravel.com/docs/
Документация лары описывает часто используемое применение тех или иных компонентов системы.
И да, laravel под капотом использует много "магии".
Полный листинг компонентов фреймворка с классами, их методами, свойствами, трейтами, константами можно найти тут https://laravel.com/api/8.x/index.html
Возможно я не совсем точно описал то, что мне надо. Но вот та инфа, которую я искал: https://laravel.com/docs/8.x/helpers