Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取资源存储路径laravel_Laravel_Laravel Routing_Laravel 5.7 - Fatal编程技术网

如何获取资源存储路径laravel

如何获取资源存储路径laravel,laravel,laravel-routing,laravel-5.7,Laravel,Laravel Routing,Laravel 5.7,我的添加表单代码 <form method="post" name="m_form" action="{{url('post')}}"> <input type="hidden" name="_method" value="POST"> <input type="hidden" name="_token" value="zL9O2D3H70fkSrt9vziwbkf2bHBqi6O6NKk1QgQK"> <input type="

我的添加表单代码

<form method="post" name="m_form" action="{{url('post')}}">
    <input type="hidden" name="_method" value="POST">
    <input type="hidden" name="_token" value="zL9O2D3H70fkSrt9vziwbkf2bHBqi6O6NKk1QgQK">
    <input type="text" required="" name="name" id="name" class="form-control m-input" >
    <input type="submit" name="submit" value="submit">
<form>
中间件

public function handle($request, Closure $next)
{
    $nextRequest = $next($request);
    dd($request->route()->getAction());
}
现在在中间件中,$request->route()->getAction()为空

现在,我希望控制器名称和方法名称在这里动态所有其他路由工作正常,但未找到存储路由

你能告诉我哪里会出错吗


谢谢。

我想这就是你要找的


仅供参考,您不应该像示例中那样使用硬代码设置_标记,而应该使用Form::open(),因为这会在每次加载页面时为您设置_标记。这是一种更安全的方法,可以确保不强制使用_标记,而您的硬编码版本每次都会为所有用户将_标记设置为相同的值。

我使用Laravel Log类将值记录在日志(/storage/logs/filename.Log)文件中以观察输出

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Route;

class CheckControllerAction
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $action = Route::current()->action;
        $route = $action['uses'];
        $controllerAction = explode("@", $route);

        Log::info(class_basename($controllerAction[0]));
        Log::info($controllerAction[1]);
        Log::info(class_basename(Route::current()->controller));
        return $next($request);
    }
}

为了显示完整的表单,我写了令牌,但我使用的令牌正如您所说的。我会检查一下,然后再给你回复。我看到了你的参考url,但它不起作用<代码>$controller=class_basename(Route::current());dd(主计长)返回null上面发布的链接从Route::current()对象返回属性控制器。请尝试并复制适合您使用的Laravel版本的代码。对于5.6,它将是class_basename(Route::current()->controller)
Route::current()
isnull@BhargavPatel,我已经添加了整个中间件,现在检查您的代码。您可能正在使用不同的class@BhargavPatel,这是在laravel 5.7上开发和测试的
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Route;

class CheckControllerAction
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $action = Route::current()->action;
        $route = $action['uses'];
        $controllerAction = explode("@", $route);

        Log::info(class_basename($controllerAction[0]));
        Log::info($controllerAction[1]);
        Log::info(class_basename(Route::current()->controller));
        return $next($request);
    }
}
[2018-12-04 21:34:41] local.INFO: PostController  
[2018-12-04 21:34:41] local.INFO: create  
[2018-12-04 21:34:41] local.INFO: PostController