laravel - Laravel 5.6 为控制器应用中间件某些方法
问题描述
Laravel 5.6 为控制器应用中间件某些方法
https://laravel.com/docs/5.6/controllers#controller-middleware
无需编写新课程
class UserController extends Controller
{
public function __construct()
{
// how can apply this middleware for certain methods eg. store, update ?
$this->middleware(function ($request, $next) {
// i need modify the $request->input('name')
// before goes to method store, update
// replace any space+ to a single space
$request->merge(['name' => preg_replace('/\s+/', ' ', $request->input('name'))]);
return $next($request);
});
}
public function store(Request $request)
{
dd($request->all());
}
public function update(Request $request)
{
dd($request->all());
}
}
已编辑,这在 Laravel 5.6 中没有记录
public function __construct()
{
$this->middleware(function ($request, $next) {
// replace any space+ to a single space
$request->merge(['name' => preg_replace('/\s+/', ' ', $request->input('name'))]);
return $next($request);
})->only(['store', 'update']);
}
解决方案
你可以这样使用
$this->middleware('auth',['only' => ['store','update']]);
// Another Way
$this->middleware('auth',['except' => ['index','show']]);
推荐阅读
- javascript - Vue 3 组合 API 去抖动功能
- algorithm - 是什么让这棵红/黑树变得沉重,它是否正确?
- java - 如何从数组中删除元素而不获取:ArrayIndexOutOfBoundsException?
- flutter - 如何定位图标而不溢出?我尝试通过添加填充,通过灵活包装小部件,但到目前为止没有运气
- android - 应用于背景按钮时,边框背景变为纯色
- java - IntelliJ 中的 Web.xml 映射 servlet 不起作用
- c# - 如何在 .Net 核心项目中使用 C# Web Api 阅读 pdf、替换其文本和发送邮件
- algorithm - 使用特征方程求解递归
- postgresql - top 语句的 PostgreSQL 子语句之间的数据一致性如何保证?
- gatling - Gatling:循环 x 次从馈线中提取值