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 забезпечує більш надійне співпадіння шаблонів, усуваючи проблеми з чутливістю до регістру, що робить програми дружніми до користувача, зберігаючи при цьому потужну функціональність шаблонів
Ви коли-небудь задумувалися, як полегшити свою роботу в Laravel? У нашій статті ми розглядаємо, як інтеграція Claude Code в PhpStorm може підвищити вашу продуктивність, спростивши процес написання коду та навчання нових розробників. Читайте далі, щоб дізнатися більше про переваги та функціональність цього потужного поєднання
Встановлення Xdebug може бути складним завданням, але в цій статті ми розкриємо, як швидко та просто налаштувати його за допомогою Docker на прикладі Laravel. Дочитайте до кінця, щоб дізнатися, як за кілька хвилин зробити Xdebug вашим надійним помічником у розробці
Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!