2017-11-19 13 views
0

다음은 Closure $ next입니다. 좋아, 내가 개체를 추측하고 있지만 개체 참조가 인수 $ 요청을 받아들이는 방법? 메서드를 호출하면 안됩니다. PHP에서 클로저는 익명의 함수입니다 만 다음은 익명의 함수 변수입니다. handle 메소드가 Class Frameguard에 있지만 위의 예제가 Frameguard 클래스를 인스턴스화하지 않은 것을 볼 수 있습니다. Laravel이 oop 구문을 따르지 않는다고 말하는 것이 맞습니까?Laravel이 새로운 프로그래밍 구문을 도입 했습니까?

public function handle($request, Closure $next) 
    { 
     if ($request->age <= 200) { 
      return redirect('home'); 
     } 

     return $next($request); 
    } 
+1

Laravel 미들웨어는 유효한 OOP 패턴 인 [파이프 라인] (https://en.wikipedia.org/wiki/Pipeline_ (소프트웨어)) 소프트웨어 아키텍처 패턴을 구현합니다. – apokryfos

+0

감사합니다. – webion123

답변

0

이제는 그렇지 않습니다. Laravel은 프레임 워크이므로 매일 매일의 작업을보다 쉽고 빠르게 완료 할 수 있습니다.

분명히 Laravel은 OOP을 따르고 내가 아는 한 "OOP 구문"과 같은 것이 없습니다. 그러나 Laravel과 다른 모든 프레임 워크에는 그다지 분명한 부분이 있습니다.

기본적으로 미들웨어에서는 요청 및 종료에 액세스 할 수 있습니다. 미들웨어 here에 관해 읽을 수 있습니다. 디퍼에서 파고 싶은 경우 \Illuminate\Pipeline\Pipeline 클래스를 볼 수 있습니다. 거기에는 각각 사용 된 미들웨어에 대한 루핑을 담당하는 carry 메서드가 있습니다.