lumen怎么得到当前Uri的控制器、Action、路由规则

<?php

namespace App\Http\Controllers;

class HelloController extends Controller
{
    public function index()
    {
        // 当前path
        $router = explode("?", $request->getRequestUri())[0];
        // 所有的router
        $rts = app()->getRoutes();
// 当前route---做seo定制url时这个方法很有用 $routeInfo = app('request')->route();
$rows = []; foreach ($rts as $rt => $route ) { $rows[$route['uri']] = [ 'verb' => $route['method'], 'uri' => $route['uri'], 'uses' => isset($route['action']['uses']) ? $route['action']['uses'] : 'Closure', 'controller' => $this->getController($route['action']), 'action' => $thiw->getAction($route['action']), ]; } print_r($rows); return; } /** * @param array $action * @return mixed|string */ protected function getAction(array $action) { if (!empty($action['uses'])) { $data = $action['uses']; if (($pos = strpos($data, "@")) !== false) { return substr($data, $pos + 1); } else { return "METHOD NOT FOUND"; } } else { return 'Closure'; } } /** * @param array $action * @return mixed|string */ protected function getController(array $action) { if (empty($action['uses'])) { return 'Closure'; } return current(explode("@", $action['uses'])); } }

 

转载于:https://www.cnblogs.com/dongruiha/p/6956866.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值