Метод toStringable()
перетворює об'єкти URI на екземпляри Stringable, що дозволяє безпосередньо використовувати методи маніпуляції рядками Laravel
Раніше, щоб застосувати рядкові трансформації до об'єктів URI, потрібно було обгортати їх у Str::of()
:
Str::of(Uri::of('http://localhost')->withScheme('https'));
Метод toStringable()
усуває цю зайву процедуру:
use Illuminate\Support\Uri;
Uri::of('http://localhost')->withScheme('https')->toStringable();
Це зберігає ланцюговий виклик методів від конструювання URI до рядкових операцій:
$endpoint = Uri::of('http://api-service.com')
->withPath('/users')
->withQuery(['active' => 1, 'limit' => 25])
->toStringable()
->replace('/users', '/v2/users')
->lower()
->toString();
Форматування URL для логування демонструє інтеграцію рядкових методів:
$logUrl = Uri::of('http://example.com/endpoint')
->withPath('/api/long/path/resource')
->toStringable()
->limit(40, '...')
->toString();
$masked = Uri::of('https://api.service.com/users/12345')
->toStringable()
->mask('*', -5, 5)
->toString();
Цей метод надає доступ до всіх операцій Stringable, включаючи зміни регістру, обрізання, заміну та маскування, без порушення ланцюга викликів і без потреби в допоміжних функціях