Аналізуйте кодові бази Laravel за допомогою пакету Laravel Introspect

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 28 червня, 2025
Пакет Laravel Introspect дозволяє детально аналізувати код Laravel, пропонуючи безпечний API для отримання інформації про погляди, моделі, маршрути та класи безпосередньо з вашого коду. Чи потрібно вам знайти всі місця використання певного погляду або зрозуміти структуру своєї моделі Eloquent? Читайте далі, щоб дізнатися, як цей пакет може спростити ваш робочий процес

З пакетом 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();

# Основні можливості

👨‍💻 Ознайомтеся з проектом на GitHub: capevace/laravel-introspect