Активуйте гнучке порівняння шаблонів за допомогою регістронезалежного методу Str::is у Laravel

Перекладено ШІ 0 Laravel News 06 червня, 2025

У новій версії Laravel метод Str::is отримав підтримку нечутливого до регістру порівняння рядків, що робить його більш зручним для використання. Дізнайтеся, як це вдосконалення може спростити вашу роботу з шаблонами рядків і зробити ваш код ще ефективнішим

Laravel вдосконалює пошук за шаблоном у рядках, додаючи можливість нечутливого до регістру порівняння в методі Str::is, що робить порівняння рядків більш гнучким і зручним з використанням шаблонів.

Покращений метод Str::is приймає третій параметр для нечутливого до регістру порівняння:

use Illuminate\Support\Str;

// Просте порівняння рядків
Str::is('Admin', 'admin', true); // true

// Порівняння з шаблоном
Str::is('*.jpg', 'photo.JPG', true); // true

// Порівняння за префіксом
Str::is('SKU123*', 'sku12345', true); // true

// Користувацькі шаблони
Str::is('prd-001*', 'PRD-001-XYZ', true); // true

// Порівняння електронних адрес
Str::is('JOHN.DOE@example.com', 'john.doe@example.com', true); // true

Ця можливість є особливо цінною для систем управління контентом:

class AssetManager
{
    protected array $imageFormats = ['jpg', 'png', 'gif', 'webp'];

    public function validateAsset(string $filename)
    {
        foreach ($this->imageFormats as $format) {
            if (Str::is("*.{$format}", $filename, true)) {
                return true;
            }
        }

        return false;
    }

    public function processMediaUploads(array $files)
    {
        return collect($files)->filter(function ($file) {
            // Пошук медіа-файлів (наприклад, MEDIA-*.*)
            return Str::is("MEDIA-*.*", $file, true);
        });
    }

    public function categorizeAsset(string $filename)
    {
        $categories = [
            'thumbnail' => 'THUMB-*.*',
            'banner' => 'BNR-*.*',
            'logo' => 'LOGO-*.*'
        ];

        foreach ($categories as $type => $pattern) {
            if (Str::is($pattern, $filename, true)) {
                return $type;
            }
        }

        return 'general';
    }
}

Опція нечутливого до регістру порівняння в Str::is забезпечує більш надійне співпадіння шаблонів, усуваючи проблеми з чутливістю до регістру, що робить програми дружніми до користувача, зберігаючи при цьому потужну функціональність шаблонів

Популярні

Інше, що варто прочитати

14 Оновлено 02 червня, 2026

Claude Agent тепер інтегрований в AI Assistant для PhpStorm

Ви коли-небудь задумувалися, як полегшити свою роботу в Laravel? У нашій статті ми розглядаємо, як інтеграція Claude Code в PhpStorm може підвищити вашу продуктивність, спростивши процес написання коду та навчання нових розробників. Читайте далі, щоб дізнатися більше про переваги та функціональність цього потужного поєднання

17 Оновлено 02 червня, 2026

Налаштування Xdebug з Docker та PHP 8.4 всього за одну хвилину

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

10 Оновлено 02 червня, 2026

Генерація документації в Laravel за допомогою штучного інтелекту

Docudoodle — це потужний пакет для генерації документації в Laravel, який допомагає легко аналізувати вашу кодову базу та створювати документацію за допомогою обраного вами AI. Чи готові ви дізнатися, як цей інструмент може спростити вашу роботу з документуванням коду? Читайте далі!