코드 중복과 손쉬운 구현을 줄이기 위해 Laravel 기반을 확장하여 Controller
빌드 할 때 추가 할 수있는 미들웨어 및 기타 항목을 설정할 수 있습니다. 마지막으로 이것은 AdminController
Admin 영역에서 사용될 나머지 모든 컨트롤러로 확장됩니다. 따라서 .NET Framework에서 미들웨어 및 기타 항목을 상속 할 수 있습니다 AdminController
.
질문 : Laravel에서 컨트롤러를 확장하여 그렇게하는 것이 좋은 습관입니까?
class AdminController extends Controller
{
use AdminMenu;
public function __construct()
{
//auth user
$this->middleware(['auth', 'admin']);
//sidenav items
$this->navItems();
}
...
}
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');
}
...
}
예, 이것은 매우 좋은 방법이며 중복을 피하는 좋은 방법입니다. 다르게 수행하는 것을 고려할 수있는 유일한 방법 은 직접 참조 된 컨트롤러가 아니라는 것을 더 분명하게하기 위해 또는 AdminController
같은 이름 으로 이름 을 바꾸는 것 입니다.AdminBaseController
AdminCommonController
컨트롤러 폴더가 복잡해지기 시작하면 여러 컨트롤러가이 공통 기본 컨트롤러를 확장한다는 사실이 항목을 하위 폴더로 나누기 시작하기에 좋은 장소가됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다