Laravel은 기본 컨트롤러를 확장하고 나머지 컨트롤러에 대해 확장하고 공통 로그인을 설정하는 것이 좋은 습관입니까?

코드 애호가

코드 중복과 손쉬운 구현을 줄이기 위해 Laravel 기반을 확장하여 Controller빌드 할 때 추가 할 수있는 미들웨어 및 기타 항목을 설정할 수 있습니다. 마지막으로 이것은 AdminControllerAdmin 영역에서 사용될 나머지 모든 컨트롤러로 확장됩니다. 따라서 .NET Framework에서 미들웨어 및 기타 항목을 상속 할 수 있습니다 AdminController.

질문 : Laravel에서 컨트롤러를 확장하여 그렇게하는 것이 좋은 습관입니까?

AdminController

class AdminController extends Controller
{
    use AdminMenu;

    public function __construct()
    {

        //auth user
        $this->middleware(['auth', 'admin']);

        //sidenav items
        $this->navItems();

    }

    ...

}

UserController 및 기타

class UserController extends AdminController
{

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\Response|\Illuminate\View\View
     */
    public function index()
    {
        return view('admin.user.index');
    }

    ...

}
James Clark 개발자

예, 이것은 매우 좋은 방법이며 중복을 피하는 좋은 방법입니다. 다르게 수행하는 것을 고려할 수있는 유일한 방법 은 직접 참조 된 컨트롤러가 아니라는 것을 더 분명하게하기 위해 또는 AdminController같은 이름 으로 이름 바꾸는 입니다.AdminBaseControllerAdminCommonController

컨트롤러 폴더가 복잡해지기 시작하면 여러 컨트롤러가이 공통 기본 컨트롤러를 확장한다는 사실이 항목을 하위 폴더로 나누기 시작하기에 좋은 장소가됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관