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 забезпечує більш надійне співпадіння шаблонів, усуваючи проблеми з чутливістю до регістру, що робить програми дружніми до користувача, зберігаючи при цьому потужну функціональність шаблонів
Вам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!
Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel
Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом