- Метод Str::slug():
Метод Str::slug() — это встроенный помощник Laravel, который генерирует URL-адресный фрагмент из заданной строки. Он удаляет специальные символы, преобразует пробелы в тире и обеспечивает ввод строчных букв. Вот пример:
use Illuminate\Support\Str;
$title = 'Mastering Slug Generation in Laravel';
$slug = Str::slug($title);
// Output: mastering-slug-generation-in-laravel
- Параметры пользовательского сегмента:
Метод Str::slug() позволяет указать дополнительные параметры для настройки создания фрагмента. Например, вы можете заменить пробелы другим символом или определить разделитель для фрагментов, состоящих из нескольких слов. Вот пример:
$title = 'Customizing Slug Generation in Laravel';
$slug = Str::slug($title, '_');
// Output: customizing_slug_generation_in_laravel
- Уникальные пули:
Чтобы обеспечить уникальность пулов, особенно при работе с записями базы данных, вы можете добавить к пулу увеличивающийся номер, если он уже существует. Вот пример:
$title = 'Unique Slug Generation in Laravel';
$baseSlug = Str::slug($title);
$slug = $baseSlug;
// Check if the slug already exists in the database
while (YourModel::where('slug', $slug)->exists()) {
$slug = $baseSlug . '-' . rand(1, 9999);
}
// Output: unique-slug-generation-in-laravel-1234 (if necessary)
- Поддержка Юникода.
Laravel также обеспечивает поддержку создания фрагментов с символами Юникода. Метод Str::slug() может обрабатывать символы, отличные от ASCII, и преобразовывать их в ближайшие аналоги ASCII. Вот пример:
$title = 'Slug Generation with Unicode Characters in Laravel';
$slug = Str::slug($title);
// Output: slug-generation-with-unicode-characters-in-laravel