>백엔드 개발 >PHP 튜토리얼 >PHP 중간 키의 내용 분석

PHP 중간 키의 내용 분석

不言
不言원래의
2018-08-04 11:58:072025검색

이 기사의 내용은 PHP 중간 키(코드 포함)의 내용 분석에 관한 것입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

PHP 중간 키: 소위 중간 키는 실제로 라우팅을 실행하기 전이나 후에 일부 기능을 실행하기 위한 것입니다. 그 전에 API를 요청할 수 있는지, 권한이 있는지 등을 확인할 수 있습니다. , 포스트 미들웨어는 일부 기능 등을 실행한 후 로그 기록을 실현할 수 있습니다.

메서드에 대한 일시적인 생각은 부모 컨트롤러에 메서드를 캡슐화하고 일부 기능을 실행할 때 beforeAction을 먼저 실행한 다음 Action 실행 후 afterAction을 실행하여 간단한 중간 키를 얻는 것입니다.

laravel에 문의한 결과 laravel의 중간 키가 클로저(Closure)를 사용하는 것을 확인했습니다. 간단한 예는 다음과 같습니다.

$application = function ($names, $a){
    echo "this is a {$names} aaa {$a} application";    
    echo "<br />";
};// 前置中间键$auth = function ($handler){
    return function ($name, $as) use ($handler){
        echo "{$name} need {$as} a auth middleware";        
        echo "<br />";        
        return $handler;
    };
};
$stack = [];// 打包
function pack_middleware($handler, $stack){
    foreach (array_reverse($stack) as $key => $middleware) {        
    $handler = $middleware($handler);
    }    
    return $handler;
}
$stack[&#39;auth&#39;] = $auth;
$run = pack_middleware($application, $stack);
$run(&#39;Laravle&#39;, "aaaaa");

최종 인쇄 결과는 다음과 같습니다. 🎜🎜#

Laravle need aaaaa a auth middleware
this is a a aaa aa application
#🎜🎜 #여기서

함수는 순차적으로 실행되고 최종적으로 결과를 반환합니다. 예:

$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
print_r(array_reverse($a));
array_reverse최종 인쇄 결과는 다음과 같습니다. Array ( [c] => Toyota [b] => BMW [a] => ; Volvo )

추천 관련 기사:

PHP에 원격 파일이 있는지 확인하는 방법 (순수 코드)

#🎜🎜 #PHP에서 소프트 링크를 만드는 방법(코드)

위 내용은 PHP 중간 키의 내용 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.