Невозможно определить, какие маршруты используют макрос.
Я зарегистрировал макрос в своем сервис-провайдере приложений и использовал его на нескольких маршрутах.Я хотел бы видеть, какие маршруты используют этот зарегистрированный макрос.Когда я вызываю hasMacro на любом маршруте, он возвращает true на всех маршрутах, независимо от того, использует ли его маршрут.
В документах говорится, что метод hasMacro возвращает true, если макрос зарегистрирован, что объясняет, почему все маршрутыверните истину.
Документы: https://laravel.com/api/5.6/Illuminate/Routing/Route.html
Есть ли способ определить, использует ли маршрут пользовательский макрос?Я был бы рад изменить группу, пространство имен или промежуточное программное обеспечение, когда этот макрос вызывается, а затем запросить это, но до сих пор не смогли сделать.Любые рекомендации?
Route::macro('graphQL', function ($type = 'query', $isList = true) {
if (!in_array($type, ['query', 'mutation'])) throw new InvalidGraphQLTypeException();
// throw new GraphQLControllerMethodException("This route is for a GraphQL endpoint and can not be accessed.");
});
$graphQlRoutes = collect(Router::getRoutes())->filter(function($route) {
/** @var Route $route */
return $route->hasMacro('graphQL');
});