Метод toStringable у Laravel Uri

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 09 жовтня, 2025
Метод `toStringable()` значно спрощує роботу з URI-об'єктами, дозволяючи без зайвих труднощів використовувати методи маніпуляції рядками в Laravel. Чи готові ви дізнатися, як цей метод може покращити ваш процес розробки? Читайте далі та вивчайте всі можливості для зручності у форматуванні URL

Метод 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, включаючи зміни регістру, обрізання, заміну та маскування, без порушення ланцюга викликів і без потреби в допоміжних функціях