> PHP 프레임워크 > Laravel > Laravel에서 이중 템플릿을 구성하는 방법 소개(코드 예)

Laravel에서 이중 템플릿을 구성하는 방법 소개(코드 예)

不言
풀어 주다: 2019-03-02 13:43:17
앞으로
3461명이 탐색했습니다.

이 글은 Laravel에서 이중 템플릿을 구성하는 방법(코드 예제)을 소개합니다. 참고할 만한 가치가 있으므로 도움이 필요한 친구들에게 도움이 되길 바랍니다.

개발 과정에서 때때로 두 가지 템플릿 세트를 사용해야 하는 특정 프로젝트에 직면할 수 있습니다.

예를 들어 PC 측과 모바일 측에서는 최상의 사용자 경험을 달성하기 위해 서로 다른 템플릿 파일을 사용합니다

What 이런 상황이 발생하면 어떻게 해야 할까요? Laravel의 템플릿 파일을 구성하는 것은 어떨까요?

1. whichbrowser/parser 설치 포털:whichBrowser/Parser-PHP

whichbrowser/parser 传送门: WhichBrowser/Parser-PHP

用于判断PC或Mobile设备, 按需加载不同的模板

1

composer require whichbrowser/parser

로그인 후 복사

2. 使用artisan命令新建一个Middleware(中间件)

执行后会在app/Http/Middleware目录生成中间件文件

1

php artisan make:middleware Template

로그인 후 복사

3. 编辑Template.php文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

class Template

{

    protected $except = [];

 

    public function handle($request, Closure $next)

    {

        $result new WhichBrowser\Parser(getallheaders());

        // 如果是桌面类型, 返回true

        $isDesktop $result->isType('desktop');

        if ($isDesktop) {

            // 加载pc端的模板文件

            $path = resource_path('views/pc/');

        else {

            // 加载mobile端的模板文件

            $path = resource_path('views/mobile/');

        }

        // 获取视图查找器实例

        $view = app('view')->getFinder();

        // 重新定义视图目录

        $view->prependLocation($path);

        // 返回请求

        return $next($request);

    }

}

로그인 후 복사

4. 最后注册中间件

app/Http/Kernel.phpPC 또는 모바일 장치를 결정하는 데 사용됩니다. 요청 시 다른 템플릿 로드

1

2

3

protected $middleware = [

    \App\Http\Middleware\Template::class,

];

로그인 후 복사

2. artisan 명령을 사용하여 새 미들웨어(미들웨어)를 생성합니다.

실행 후 미들웨어 파일은 app/Http/Middleware 디렉토리에 생성됩니다

1

return view('registration.index'$data);

로그인 후 복사

3. Template.php 파일을 편집합니다

rrreee

4. 마지막으로 미들웨어를 등록합니다

app/Http/에서 Kernel.php 클래스에 주문형 미들웨어를 등록하세요

예를 들어 전역 미들웨어를 등록하세요:

rrreee

그 후에는 각기 다른 템플릿 파일을 로드할 수 있습니다. devices

컨트롤에서 이렇게 하세요. 다양한 기기에 따라 다양한 템플릿이 로드됩니다🎜rrreee🎜예를 들어 PC 기기에서 웹페이지를 열 때: /resources/views/pc/registration/index.blade.php 템플릿 로드🎜 🎜예를 들어 모바일 장치에서 웹페이지를 열 때: Load /resources/views /mobile/registration/index.blade.php template🎜🎜🎜

위 내용은 Laravel에서 이중 템플릿을 구성하는 방법 소개(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿