З пакетом Laravel Introspect ви можете аналізувати код Laravel, отримуючи інформацію про перегляди, моделі, маршрути, класи тощо безпосередньо з вашої кодової бази за допомогою безпечного й зручного API:
Ви працюєте над складним процесом рефакторингу і вам потрібно знайти всі місця, де використовується певний перегляд? Ви створюєте розробницькі інструменти або інші рішення, які вимагають інформації про кодову базу? Вам потрібна структурована схема вашої моделі даних Eloquent?
Ці та багато інших випадків вимагають глибокого аналізу вашої кодової бази, щоб зрозуміти, де, як і що використовується. Цей пакет робить саме це.
Використовуючи цей пакет, ви можете програмно запитувати код Laravel-додатка для пошуку певних переглядів, маршрутів, класів, моделей тощо:
use Mateffy\Introspect\Facades\Introspect;
$views = Introspect::views()
->whereNameEquals('components.*.button')
->whereUsedBy('pages.admin.*')
->get();
$routes = Introspect::routes()
->whereUsesController(MyController::class)
->whereUsesMiddleware('auth')
->whereUsesMethod('POST')
->get();
$classes = Introspect::classes()
->whereImplements(MyInterface::class)
->whereUses(MyTrait::class)
->get();
$models = Introspect::models()
->whereHasProperties(['name', 'email'])
->whereHasFillable('password')
->get();
// Отримайте доступ до властивостей, зв’язків, кастів Eloquent тощо
$detail = Introspect::model(User::class);
// Модель до JSON-схеми
$schema = $detail->schema();
# Основні можливості
- Запитуйте перегляди, маршрути, класи та моделі за допомогою зручного API
- Використовуйте шаблони (*) для пошуку кількох переглядів, маршрутів, класів і моделей
- Парсуйте властивості, зв’язки та їх типи безпосередньо з коду моделей Eloquent
- (Де-)серіалізуйте запити в/з JSON (відмінно підходить для інтеграції з LLM-інструментами)
👨💻 Ознайомтеся з проектом на GitHub: capevace/laravel-introspect