我是Laravel的新手,想知道处理重复代码的最佳实用方法.
我几乎在我的api-controller的所有功能中开始使用此代码:
// Validate parameters
$validator = Validator::make($request->all(), $this->validationRules);
if ($validator->fails()) {
return response()->json($validator->errors(), 422);
}
Run Code Online (Sandbox Code Playgroud)
所以通常我会把它放在某个功能中.但是这个代码也用在很多其他控制器中.所以这个功能也应该被其他控制器调用.
在Laravel 5中处理这个问题的最佳做法是什么?我的第一个想法是使用此功能制作一些自己的控制器,而我的其他控制器将扩展它.
喜欢:
class MyController extends Controller
{
protected function handleFailByPrameter($params)
{
....
}
}
class Api1Controller extends MyController
{
public function apicall1()
{
$this->handleFailByPrameter($this->validationRules());
}
}
Run Code Online (Sandbox Code Playgroud)
但也许有其他一些方法来处理这类事情?