Методы базовых классов Laravel

Прошу не ругать за глупые вопросы, но ответа не нашел. Где я могу посмотреть описание методов стандартных классов Laravel? Например класс Controller. В документации нашел только поверхностную инструкцию, а вот какие методы есть и что они делают - не нашел.

Спасибо за внимание.


Ответы (3 шт):

Автор решения: Вадим Александру

Laravel достаточно хорошо задокументирован и все публичные методы класса вы можете найти через Ctrl если вы в PHPStorm работаете. Так же желательно установить пакет ide-helper, который генерирует еще пару файлов для IDE, чтобы она лучше "ориентировалась".

Переходим к делу, если мы уже решили, что хотим знать все что под капотом некого функционала тогда у нас есть пару вариантов как это сделать.

  1. Через xDebug, отследить все передвижение вашего запроса, там вы получите стектрейс всех загруженых классв, последовательность их выполнения итд.

  2. Рефлексия, благо в PHP очень хорошее апи для работы с рефлексией. Вы можете на каком то этапе выполнения - словить экземпляр исследуемого класса, потом через рефлексию можете получить данные всех его полей\методов (даже приватных :D). Тут есть один момент, если класс, использует трейт Macroable тогда, скорее всего, доп функционал будет добавляться динамически к классу, т.к у этого трейта есть статическое поле $macros - массив из анонимных функций, которые потом юзают в маг методах __call() и __callStatic(). Это поле нужно отдельно исследовать.

При всем я все же не рекомендую лезть настолько глубоко или юзать незадокументированые методы (если конечно вы не желаете работать над самим Laravel, и внести свой вклад в развитие)

Ссылка на документацию https://laravel.com/docs/

→ Ссылка
Автор решения: Максим К

Документация лары описывает часто используемое применение тех или иных компонентов системы.

И да, laravel под капотом использует много "магии".

Полный листинг компонентов фреймворка с классами, их методами, свойствами, трейтами, константами можно найти тут https://laravel.com/api/8.x/index.html

→ Ссылка
Автор решения: Nightmare

Возможно я не совсем точно описал то, что мне надо. Но вот та инфа, которую я искал: https://laravel.com/docs/8.x/helpers

→ Ссылка