Перевірка відсутності рядка за допомогою методу doesnContain в Laravel

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 28 січня, 2025
Новий метод `doesntContain` у Laravel пропонує інтуїтивно зрозумілий спосіб перевірки відсутності певного контенту в рядках. Дізнайтеся, як цей метод може спростити валідацію рядків у вашому проєкті та покращити читабельність коду!

Новий метод doesntContain у Laravel пропонує інтуїтивний спосіб перевірки, чи не містять рядки певного контенту. Цей метод доповнює існуючий метод contains, забезпечуючи більш зрозумілий синтаксис для негативних перевірок.

use Illuminate\Support\Str;

// Основне використання
$text = "Welcome to Laravel";
$result = Str::doesntContain($text, 'PHP'); // true
// Множинні перевірки
$result = Str::doesntContain($text, ['PHP', 'Laravel']); // false

Ось практичний приклад реалізації служби фільтрації повідомлень:

<?php

namespace App\Services;

use App\Models\Message;
use Illuminate\Support\Str;

class MessageFilter
{
    protected array $sensitiveTerms = [
        'confidential',
        'internal',
        'classified'
    ];

    public function isSafeForPublic(Message $message): bool
    {
        return Str::doesntContain(
            strtolower($message->content),
            $this->sensitiveTerms
        );
    }

    public function processMessage(Message $message): array
    {
        if ($this->isSafeForPublic($message)) {
            $message->update(['status' => 'published']);
            return ['status' => 'success', 'message' => 'Повідомлення опубліковано'];
        }
        $message->update(['status' => 'review_required']);

        return ['status' => 'pending', 'message' => 'Контент потребує перевірки'];
    }
}

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

Популярні

Logomark Logotype

"SQLSTATE[HY000] [2002] Connection refused" у Laravel в GitHub Actions

Чи стикалися ви з помилкою «SQLSTATE[HY000] [2002] Connection refused» під час налаштування GitHub Actions для вашого додатку на Laravel? У нашій статті ми розглянемо три поширені причини цієї помилки та надамо рішення для їх усунення. Читайте далі, щоб дізнатися, як ваш CI/CD потік може працювати бездоганно!

Logomark Logotype

Випущено Livewire 3.6

Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!

Logomark Logotype

Як задокументувати кілька API в Laravel за допомогою Scramble

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