我怎样才能获得资源商店路线 laravel
How can i get resource store route laravel
我的添加表单代码
<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>
我的路线
Route::resource('post', 'PostController');
中间件
public function handle($request, Closure $next)
{
$nextRequest = $next($request);
dd($request->route()->getAction());
}
中间件现在$request->route()->getAction()为null
现在我想在此处动态地控制控制器名称和方法名称,所有其他路由都可以正常工作,但找不到存储路由
你能指导我哪里会出错吗?
谢谢。
我想这就是您要找的......
仅供参考,您不应像示例中那样使用硬代码设置 _token,而应使用 Form::open(),因为这会在每次加载页面时为您设置 _token .这是确保不能强制使用 _token 的更安全的方法,这与您的硬编码版本相反,后者显然每次都会为所有用户将 _token 设置为相同的值。
我使用 Laravel Log Class 在日志 (/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);
}
}
日志文件中的输出是:
[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
我的添加表单代码
<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>
我的路线
Route::resource('post', 'PostController');
中间件
public function handle($request, Closure $next)
{
$nextRequest = $next($request);
dd($request->route()->getAction());
}
中间件现在$request->route()->getAction()为null
现在我想在此处动态地控制控制器名称和方法名称,所有其他路由都可以正常工作,但找不到存储路由
你能指导我哪里会出错吗?
谢谢。
我想这就是您要找的......
仅供参考,您不应像示例中那样使用硬代码设置 _token,而应使用 Form::open(),因为这会在每次加载页面时为您设置 _token .这是确保不能强制使用 _token 的更安全的方法,这与您的硬编码版本相反,后者显然每次都会为所有用户将 _token 设置为相同的值。
我使用 Laravel Log Class 在日志 (/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);
}
}
日志文件中的输出是:
[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