>PHP 프레임워크 >Laravel >laravel의 뷰 기능에 대한 자세한 설명

laravel의 뷰 기능에 대한 자세한 설명

齐天大圣
齐天大圣원래의
2020-12-16 13:54:372532검색

전통적인 MVC 모델은 모델, 컨트롤러, 뷰로 구분됩니다. 뷰는 HTML 파일을 저장하는 데 사용됩니다. Laravel의 뷰 파일은 resources/views 디렉터리에 저장됩니다. 동영상을 만들어 봅시다

뷰 만들기

Route::get('/v1', function () {
    return view('v1');
});

다음 내용으로 resources/views/v1.blade.php 파일을 만드세요:

<html>
    <body>
        <h1>
            hello world
        </h1>
    </body>
</html>

하위 디렉토리 보기

하위 디렉토리 보기용 , 지정하려면 . 연산자를 사용해야 합니다. 예를 들어 resources/views/home/index.blade.php, 그러면

return view(home.index);

뷰가 존재하는지 확인해야 합니다.

때로는 뷰가 존재하는지 확인해야 하고 존재하는 뷰를 사용해야 합니다. 방법. 다음과 같습니다:

if (view()->exists(&#39;v1&#39;)) {
    //
}

뷰에 데이터 전달

일반적으로 뷰에서 순수 HTML을 사용하는 경우는 매우 드물며 뷰에 매개변수를 전달해야 하는 경우가 많습니다. Laravel에는 매개변수를 뷰에 전달하는 여러 가지 방법이 있습니다. 다음과 같이 뷰가 데이터를 가져올 수 있도록 뷰 함수의 두 번째 매개변수에 연관 배열을 전달할 수 있습니다.

return view(&#39;v1&#39;, [&#39;name&#39; => &#39;laravel&#39;, &#39;act&#39; => &#39;study&#39;]);

뷰에서 매개변수를 사용하려면 {{$key}}

<p>{{$act}} {{$name}}</p>

를 사용해야 합니다. 메소드와 함께 사용하여 매개변수를 전달할 수도 있습니다. 이 메소드는 일관된 작업을 지원합니다

return view(&#39;v1&#39;)
    ->with([&#39;name&#39; => &#39;laravel&#39;, &#39;act&#39; => &#39;study&#39;])
    ->with(&#39;title&#39;, &#39;php.cn&#39;);

모든 뷰는 데이터를 공유합니다

여러 뷰 내에서 데이터를 공유하는 것은 일반적인 요구 사항이며 app/Providers/appServiceProvider에서 설정할 수 있습니다.

public function boot()
{
    //
    view()->share(&#39;key&#39;, &#39;val&#39;);
}

View 합성기와 생성자

View 합성기와 생성자는 PHP 클래스의 생성자와 소멸자와 유사하지만, 생성자는 뷰가 표시되기 전에 실행되는 비즈니스 로직의 일부입니다. 렌더링이 완료된 후 실행되는 비즈니스 로직이 표시됩니다.

많이 사용되지 않기 때문에 여기서는 뷰 신디사이저와 생성자를 작동하는 방법을 설명하지 않겠습니다. 관심 있는 어린이는 문서를 직접 확인할 수 있습니다.

뷰의 컴파일된 파일

뷰 파일을 컴파일해야 하며, 컴파일로 생성된 파일은 Storage/framework/views 파일에 저장됩니다. 기본적으로 뷰 파일은 요청 시 컴파일되지만, 컴파일된 파일이 존재하지 않거나 뷰 파일이 수정되면 뷰 파일이 다시 컴파일됩니다. 그러나 가져오기 요청 시 보기 파일을 컴파일하면 성능에 영향이 있습니다. 따라서 laravel은 모든 뷰 파일을 한 번에 컴파일할 수 있는 도구를 제공합니다.

php artisan view:cache

이에 해당하는 것은 모든 뷰를 삭제하는 컴파일 파일 명령입니다

php artisan view:clear

권장 튜토리얼: "laravel Framework"

위 내용은 laravel의 뷰 기능에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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