将方法分成多个控制器?

时间:2016-09-29 00:10:08

标签: laravel laravel-5 laravel-5.3

我注意到Laravel文档中的许多示例似乎都有控件,其中类只有一个用法/方法。

例如,在this part of the doc中,他们有一个UpdatePasswordController类,只有一个方法,update()

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\Http\Controllers\Controller;

class UpdatePasswordController extends Controller
{
    /**
     * Update the password for the user.
     *
     * @param  Request  $request
     * @return Response
     */
    public function update(Request $request)
    {
        // Validate the new password length...

        $request->user()->fill([
            'password' => Hash::make($request->newPassword)
        ])->save();
    }
}

通常情况下,我会在updatePassword()课程中添加一个名为UserController的方法(以及signIn()signUp()resetPassword()等),但是我想知道创建多个类是否更好,每个类都有一个动作?

1 个答案:

答案 0 :(得分:0)

通常,类被定义为单一目的。在laravel中,为了进行身份验证,有一个Illuminate基本捆绑包,经过多年优化。 作为示例,UpdatePasswordController仅负责更新密码, AuthController仅负责身份验证。 我希望你能够研究一些MVC best practices