Files
ntspi-app/app/Containers/AppStructure/Tasks/GeneratePathTask.php
T
2026-03-20 21:47:02 +05:00

30 lines
818 B
PHP
Executable File

<?php
namespace App\Containers\AppStructure\Tasks;
use Illuminate\Support\Facades\Route;
class GeneratePathTask
{
public function run(?string $routeName): string|null
{
if ($routeName === 'page.view') {
return request()->path();
}
try {
$route = Route::getRoutes()->getByName($routeName);
// Если у маршрута есть обязательные параметры без значений по умолчанию, возвращаем null
if ($route && count($route->parameterNames()) > 0) {
return null;
}
$routeUrl = route($routeName);
return ltrim(parse_url($routeUrl, PHP_URL_PATH), '/');
} catch (\Exception $e) {
return null;
}
}
}