亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Laravel 配置雙模板

TZLLOG / 2087人閱讀

摘要:在開發(fā)過程中不時(shí)會(huì)遇到某些項(xiàng)目需要使用兩套模板如端和端使用不同的模板文件以達(dá)到最佳的用戶體驗(yàn)遇到這種情況我們應(yīng)該如何配置的模板文件呢安裝傳送門用于判斷或設(shè)備按需加載不同的模板使用命令新建一個(gè)中間件執(zhí)行后會(huì)在目錄生成中間件文件編輯文件如果是

在開發(fā)過程中, 不時(shí)會(huì)遇到某些項(xiàng)目需要使用兩套模板

如PC端和Mobile端使用不同的模板文件, 以達(dá)到最佳的用戶體驗(yàn)

遇到這種情況我們應(yīng)該如何配置Laravel的模板文件呢?

1. 安裝whichbrowser/parser 傳送門: WhichBrowser/Parser-PHP

用于判斷PC或Mobile設(shè)備, 按需加載不同的模板

composer require whichbrowser/parser
2. 使用artisan命令新建一個(gè)Middleware(中間件)

執(zhí)行后會(huì)在app/Http/Middleware目錄生成中間件文件

php artisan make:middleware Template
3. 編輯Template.php文件
class Template
{
    protected $except = [];

    public function handle($request, Closure $next)
    {
        $result = new WhichBrowserParser(getallheaders());
        // 如果是桌面類型, 返回true
        $isDesktop = $result->isType("desktop");
        if ($isDesktop) {
            // 加載pc端的模板文件
            $path = resource_path("views/pc/");
        } else {
            // 加載mobile端的模板文件
            $path = resource_path("views/mobile/");
        }
        // 獲取視圖查找器實(shí)例
        $view = app("view")->getFinder();
        // 重新定義視圖目錄
        $view->prependLocation($path);
        // 返回請(qǐng)求
        return $next($request);
    }
}
4. 最后注冊(cè)中間件

app/Http/Kernel.php類中 按需注冊(cè)中間件

如注冊(cè)全局中間件:

protected $middleware = [
    AppHttpMiddlewareTemplate::class,
];

搞定, 就可以根據(jù)不同的設(shè)備加載不同的模板文件了

在控制中只需這樣, 就可以根據(jù)不同的設(shè)備來(lái)加載不同的模板了

return view("registration.index", $data);

如從PC設(shè)備打開網(wǎng)頁(yè): 加載 /resources/views/pc/registration/index.blade.php 模板

如從移動(dòng)設(shè)備打開網(wǎng)頁(yè): 加載 /resources/views/mobile/registration/index.blade.php 模板

原文: Laravel 配置雙模板

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/30918.html

相關(guān)文章

  • Laravel 5.8 前瞻

    摘要:發(fā)布于年月,從那時(shí)起大約每六個(gè)月會(huì)發(fā)布一次的新版本。將會(huì)支持相對(duì)較新的來(lái)管理項(xiàng)目中的環(huán)境文件。棄用和輔助函數(shù)所有的和全局輔助函數(shù)都已棄用,將在中刪除。將返回更干凈的相同值。和通知和通知已從主項(xiàng)目中刪除,并提取到第三方軟件包中。 showImg(https://segmentfault.com/img/remote/1460000018269419?w=585&h=400); 無(wú)論是從零...

    tianhang 評(píng)論0 收藏0
  • Laravel之郵件發(fā)送

    Laravel為我們提供了很便捷的郵件服務(wù),只需要簡(jiǎn)單的配置就能使用。 -->另一篇Laravel隊(duì)列發(fā)送郵件 它的配置文件在config/mail.php,下面我們來(lái)看看它的配置文件 這里的 driver 指的是使用的驅(qū)動(dòng),默認(rèn)使用的是smtp driver => env(MAIL_DRIVER, smtp), 發(fā)送郵件的主機(jī)地址 host => env(MAIL_HOST, smt...

    B0B0 評(píng)論0 收藏0
  • Deployer init命令

    摘要:簡(jiǎn)介安裝完成后輸入開始初始化,生成默認(rèn)的配置文件命令的實(shí)現(xiàn)在文件中目錄則包含了初始化相關(guān)的模板命令類類繼承了的類,實(shí)現(xiàn)為一個(gè)命令行的命令構(gòu)造函數(shù)構(gòu)造函數(shù)主要初始化了的和兩個(gè)變量是一個(gè)包含了多個(gè)模板的初始化器具體實(shí)現(xiàn)就是下面將要分析的是初始化 0 簡(jiǎn)介 Deployer安裝完成后輸入dep init開始初始化,生成默認(rèn)的配置文件deploy.phpinit命令的實(shí)現(xiàn)在srcConsole...

    Vultr 評(píng)論0 收藏0
  • Laravel SMS 短信發(fā)送包

    摘要:支持短信驗(yàn)證碼未驗(yàn)證時(shí),用戶再次請(qǐng)求驗(yàn)證碼,在有效分鐘內(nèi)驗(yàn)證碼保持一致。集成短信發(fā)送路由,支持和發(fā)送方式。有效期為分鐘,請(qǐng)盡快驗(yàn)證。 Laravel Sms Laravel 貼合實(shí)際需求同時(shí)滿足多種通道的短信發(fā)送組件 showImg(https://segmentfault.com/img/remote/1460000013101233);showImg(https://segment...

    Seay 評(píng)論0 收藏0
  • Laravel 和 Spring Boot 兩個(gè)框架比較創(chuàng)業(yè)篇(一:開發(fā)效率)

    摘要:小紅要以最低成本最快速度推出版本,投放市場(chǎng),收集反饋,持續(xù)迭代??偨Y(jié)在技能掌握充足的情況下,個(gè)人感覺開發(fā)效率要略高于。 我個(gè)人是比較不喜歡去正兒八經(jīng)的比較兩個(gè)框架的,這樣沒有意義,不過欲善其事先利其器! 技術(shù)是相通的,但是在某個(gè)特定的領(lǐng)域的某個(gè)階段肯定有相對(duì)最適合的一個(gè)工具! 這里比較不是從技術(shù)角度比較,而是從公司技術(shù)選型考慮的,特別是初創(chuàng)的互聯(lián)網(wǎng)創(chuàng)業(yè)公司。沒辦法,誰(shuí)讓互聯(lián)網(wǎng)公司離不開...

    tinna 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<