Laravel Pint тепер замінює fully qualified class names на use statements

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 14 березня, 2026
Pint для пресету laravel тепер містить правило fully_qualified_strict_types, яке автоматично замінює повністю кваліфіковані імена класів на короткі й додає відповідні use‑інструкції. Прочитайте статтю, щоб дізнатися, як це вплине на ваш код і як налаштувати правило у pint.json.

У пресеті laravel для Laravel Pint тепер є правило fully_qualified_strict_types, яке автоматично замінює fully qualified class names (FQCNs) на короткі і додає відповідні use-імпорти. Правило додав Nuno Maduro і застосовується як до коду, так і до PHPDoc-атестацій.

Що робить правило

Якщо ви посилаєтеся на клас через повністю кваліфіковане ім'я, правило перетворює його на коротке ім'я й додає use-імпорт у верхню частину файлу. Наприклад, типова модель Laravel може виглядати так:

class User extends Authenticatable
{
    /** @use HasFactory<\Database\Factories\UserFactory> */
    use HasFactory, Notifiable;
 
    protected function casts(): array
    {
        return [
            'email_verified_at' => \Illuminate\Database\Eloquent\Casts\Attribute::class,
        ];
    }
}

Після запуску Pint воно перетвориться на:

use Database\Factories\UserFactory;
use Illuminate\Database\Eloquent\Casts\Attribute;
 
class User extends Authenticatable
{
    /** @use HasFactory<UserFactory> */
    use HasFactory, Notifiable;
 
    protected function casts(): array
    {
        return [
            'email_verified_at' => Attribute::class,
        ];
    }
}

Правило обробляє FQCNs у підказках типів (type hints), сигнатурах повернення (return types), PHPDoc-тегах (@param, @return, @var, @throws) та вбудованих посиланнях у коді.

Як користуватися

Якщо ваш проєкт використовує стандартний пресет laravel для Pint, правило вже активне. Оновіть Pint і запустіть його:

composer update laravel/pint
./vendor/bin/pint

Якщо ви користуєтеся кастомним пресетом у pint.json, додайте правило вручну:

{
    "preset": "psr12",
    "rules": {
        "fully_qualified_strict_types": {
            "import_symbols": true
        }
    }
}

Параметр import_symbols: true змушує фіксер автоматично додавати use-імпорти для всіх знайдених FQCN, а не лише скорочувати імена, які вже мають відповідний імпорт.

На що звернути увагу

Правило вплине на наявні проєкти при першому запуску Pint після оновлення. Очікуйте одноразовий diff по кодовій базі, коли FQCN будуть замінені імпортами. Зміни косметичні і не впливають на виконання.

Повну документацію правила див. у Symfony PHP-CS-Fixer docs.

Популярні

Logomark Logotype

Усе, що нам відомо про Livewire 4

Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу

Logomark Logotype

Обробка геопросторових даних за допомогою Laravel Magellan

Ви готові відкрити нові горизонти у роботі з геопросторовими даними в Laravel? Дізнайтеся, як за допомогою PostGIS та пакету Laravel-Magellan можна легко зберігати, запитувати та маніпулювати інформацією про розташування, перетворюючи ваші проекти на вражаючі рішення у сфері картографії та геолокації!

Logomark Logotype

Оптимізація запитів до бази даних за допомогою скорочених методів Laravel

Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!