在启动方法中获取Laravel 5控制器名称

时间:2018-08-31 09:03:58

标签: php laravel laravel-5 php-7

我在laravel中有一些主题可以通过我的“自定义”包中的主题启动

 $('input[name="allotment"]').daterangepicker({
                "drops": "down",
                "opens": "center",
            }, function (start, end, label) {
                console.log("A new date selection was made: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
                var dd = parseInt(end.format('DD')) - parseInt(start.format('DD'));
                var startDate = new Date(start.format('YYYY-MM-DD'));
                var endDate = new Date(end.format('YYYY-MM-DD'));
                //console.log(startDate.getDate());
                //console.log(endDate.getDate());
                //console.log(allot);
                for (i=1;i<=dd;i++){
                    var allot = startDate.getDate()+1;
                    console.log(allot);
                    var addRow = "<tr><td><input type='text' name='allomentDate[i]' readonly value='startDate'></td>" +
                        "<tr><td>";
                }
            });

如何获取当前控制器名称?我需要此信息才能知道此页面是帖子还是产品,并获得该产品的ID

在代码中可以正常工作

 $this->app->makeWith( $themeClass, [ $this->app ] )

但主题不起作用

            $routeArray = app( 'request' )->route()->getAction();
            $controllerAction = class_basename( $routeArray['controller'] );

我使用laravel 5.6

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码获取controller name

$routeArray = app('request')->route()->getAction();
$controllerAction = class_basename($routeArray['controller']);
list($controller, $action) = explode('@', $controllerAction);

$controller = $routeArray['as'];
echo $controller;exit;
$routeArray中的

具有所有controller,method, as name等,因此您可以轻松获得所需的价值。