Функция url
Функция url генерирует абсолютный URL-адрес для указанного пути.
Если путь не передан, функция возвращает полный URL текущего запроса.
Первый параметр - строка пути, второй - массив параметров запроса.
Функция учитывает конфигурацию приложения, включая протокол, домен и порт.
Синтаксис
<?php
url($path = null, $parameters = [], $secure = null);
?>
Пример
Давайте получим URL текущей страницы:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/user/profile', function () {
$res = url();
echo $res;
});
?>
Результат выполнения кода при переходе по адресу http://example.com/user/profile:
"http://example.com/user/profile"
Пример
Сгенерируем URL для конкретного маршрута:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/articles/{id}', function ($id) {
$res = url("/articles/{$id}");
echo $res;
});
?>
Результат выполнения кода при вызове маршрута с параметром 5:
"http://example.com/articles/5"
Пример
Добавим параметры запроса к URL:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/search', function () {
$res = url('/search', ['q' => 'laravel', 'page' => 2]);
echo $res;
});
?>
Результат выполнения кода:
"http://example.com/search?q=laravel&page=2"
Пример
Принудительно укажем использование HTTPS протокола:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/secure', function () {
$res = url('/secure', [], true);
echo $res;
});
?>
Результат выполнения кода:
"https://example.com/secure"
Пример
Используем функцию в представлении Blade для создания ссылки:
<a href="{{ url('/articles') }}">Articles</a>
<a href="{{ url('/users', ['sort' => 'name']) }}">Users</a>
Результат выполнения кода:
<a href="http://example.com/articles">Articles</a>
<a href="http://example.com/users?sort=name">Users</a>