Метод ensureStart
Метод ensureStart класса UnicodeString проверяет,
начинается ли текущая строка с указанной подстроки.
Если строка уже начинается с неё, метод возвращает исходную строку
без изменений. В противном случае указанная подстрока добавляется
в начало строки. Метод принимает один обязательный параметр -
подстроку, наличие которой в начале строки нужно гарантировать.
Возвращается новый объект UnicodeString.
Синтаксис
public function ensureStart(string $prefix): self
Пример
Давайте гарантируем, что строка 'abcde' начинается с подстроки 'abc':
<?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('abcde');
$res = $str->ensureStart('abc');
return new Response((string) $res);
}
}
?>
Результат выполнения кода:
"abcde"
Пример
Давайте гарантируем, что строка 'abcde' начинается с подстроки 'xyz', которой в начале строки нет:
<?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('abcde');
$res = $str->ensureStart('xyz');
return new Response((string) $res);
}
}
?>
Результат выполнения кода:
"xyzabcde"
Пример
Давайте применим метод ensureStart к строке, полученной из переменной:
<?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('/user', name: 'article_user')]
public function user(): Response
{
$text = new UnicodeString('user');
$res = $text->ensureStart('hello ');
return new Response((string) $res);
}
}
?>
Результат выполнения кода:
"hello user"
Смотрите также
-
метод
ensureEnd,
который гарантирует наличие подстроки в конце строки -
метод
startsWith,
который проверяет начало строки на подстроку -
метод
prepend,
который добавляет подстроку в начало строки -
класс
UnicodeString,
который представляет Unicode-строку