hasSignedRoute
Метод hasSignedRoute класса URL позволяет проверить,
был ли создан подписанный URL для указанного маршрута.
Он принимает имя маршрута и массив параметров,
и возвращает true, если подписанный URL существует,
и false в противном случае.
Этот метод полезен для проверки валидности подписанных ссылок
перед их использованием или для отладки.
Синтаксис
<?php
URL::hasSignedRoute($name, $parameters = []);
?>
Параметры метода:
-
$name- имя маршрута (строка); -
$parameters- ассоциативный массив параметров маршрута (необязательно).
Пример
Проверим существование подписанного URL для маршрута с именем profile.show
и параметром id:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\URL;
class ProfileController extends Controller
{
public function checkSignedUrl()
{
$signedUrlExists = URL::hasSignedRoute('profile.show', ['id' => 1]);
if ($signedUrlExists) {
echo "Signed URL exists for profile.show with id 1";
} else {
echo "Signed URL does not exist";
}
}
}
?>
Результат выполнения кода:
"Signed URL exists for profile.show with id 1"
Пример
Проверим подписанный URL для маршрута без параметров:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\URL;
class DashboardController extends Controller
{
public function checkDashboardSignedUrl()
{
$signedUrlExists = URL::hasSignedRoute('dashboard');
if ($signedUrlExists) {
echo "Signed URL exists for dashboard";
} else {
echo "Signed URL does not exist for dashboard";
}
}
}
?>
Результат выполнения кода:
"Signed URL exists for dashboard"
Пример
Проверим подписанный URL с несколькими параметрами:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\URL;
class ArticleController extends Controller
{
public function checkArticleSignedUrl()
{
$params = [
'id' => 5,
'lang' => 'en'
];
$signedUrlExists = URL::hasSignedRoute('article.show', $params);
if ($signedUrlExists) {
echo "Signed URL exists for article.show with id 5 and lang en";
} else {
echo "Signed URL does not exist";
}
}
}
?>
Результат выполнения кода:
"Signed URL exists for article.show with id 5 and lang en"
Смотрите также
-
метод
signedRoute,
который создает подписанный URL для маршрута -
метод
temporarySignedRoute,
который создает временный подписанный URL -
метод
has,
который проверяет существование маршрута -
функция
route,
которая генерирует URL для именованных маршрутов