Метод snake
Метод snake класса UnicodeString преобразует строку
в формат snake_case. Это удобно для формирования имён
переменных, ключей массивов, полей базы данных и идентификаторов,
где слова разделяются символом подчёркивания _. Метод
корректно обрабатывает Unicode-строки, включая кириллицу
и другие многобайтовые символы. Метод не принимает параметров
и возвращает новый объект UnicodeString.
Синтаксис
public function snake(): static
Пример
Давайте создадим строку через метод u и преобразуем
её в формат snake_case:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Symfony\Component\String\UnicodeString;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
$str = new UnicodeString('hello world');
$res = $str->snake();
return new Response($res);
}
}
?>
Результат выполнения кода:
"hello_world"
Пример
Давайте преобразуем строку, записанную в camelCase:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Symfony\Component\String\UnicodeString;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
$str = new UnicodeString('articleTitle');
$res = $str->snake();
return new Response($res);
}
}
?>
Результат выполнения кода:
"article_title"
Пример
Давайте преобразуем строку с дефисами и заглавными буквами:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Symfony\Component\String\UnicodeString;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
$str = new UnicodeString('Hello-World-Test');
$res = $str->snake();
return new Response($res);
}
}
?>
Результат выполнения кода:
"hello_world_test"
Пример
Давайте преобразуем строку, содержащую кириллицу:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Symfony\Component\String\UnicodeString;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
$str = new UnicodeString('Привет Мир');
$res = $str->snake();
return new Response($res);
}
}
?>
Результат выполнения кода:
"привет_мир"
Смотрите также
-
класс
UnicodeString,
который представляет Unicode-строку -
метод
camel,
который преобразует строку в camelCase -
метод
kebab,
который преобразует строку в kebab-case -
метод
title,
который делает первую букву каждого слова заглавной