摘要:在開發(fā)過程中不時會遇到某些項目需要使用兩套模板如端和端使用不同的模板文件以達(dá)到最佳的用戶體驗遇到這種情況我們應(yīng)該如何配置的模板文件呢安裝傳送門用于判斷或設(shè)備按需加載不同的模板使用命令新建一個中間件執(zhí)行后會在目錄生成中間件文件編輯文件如果是
在開發(fā)過程中, 不時會遇到某些項目需要使用兩套模板
如PC端和Mobile端使用不同的模板文件, 以達(dá)到最佳的用戶體驗
遇到這種情況我們應(yīng)該如何配置Laravel的模板文件呢?
1. 安裝whichbrowser/parser 傳送門: WhichBrowser/Parser-PHP用于判斷PC或Mobile設(shè)備, 按需加載不同的模板
composer require whichbrowser/parser2. 使用artisan命令新建一個Middleware(中間件)
執(zhí)行后會在app/Http/Middleware目錄生成中間件文件
php artisan make:middleware Template3. 編輯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/"); } // 獲取視圖查找器實例 $view = app("view")->getFinder(); // 重新定義視圖目錄 $view->prependLocation($path); // 返回請求 return $next($request); } }4. 最后注冊中間件
在app/Http/Kernel.php類中 按需注冊中間件
如注冊全局中間件:
protected $middleware = [ AppHttpMiddlewareTemplate::class, ];
搞定, 就可以根據(jù)不同的設(shè)備加載不同的模板文件了
在控制中只需這樣, 就可以根據(jù)不同的設(shè)備來加載不同的模板了
return view("registration.index", $data);
如從PC設(shè)備打開網(wǎng)頁: 加載 /resources/views/pc/registration/index.blade.php 模板
如從移動設(shè)備打開網(wǎng)頁: 加載 /resources/views/mobile/registration/index.blade.php 模板
原文: Laravel 配置雙模板
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/30918.html
摘要:發(fā)布于年月,從那時起大約每六個月會發(fā)布一次的新版本。將會支持相對較新的來管理項目中的環(huán)境文件。棄用和輔助函數(shù)所有的和全局輔助函數(shù)都已棄用,將在中刪除。將返回更干凈的相同值。和通知和通知已從主項目中刪除,并提取到第三方軟件包中。 showImg(https://segmentfault.com/img/remote/1460000018269419?w=585&h=400); 無論是從零...
Laravel為我們提供了很便捷的郵件服務(wù),只需要簡單的配置就能使用。 -->另一篇Laravel隊列發(fā)送郵件 它的配置文件在config/mail.php,下面我們來看看它的配置文件 這里的 driver 指的是使用的驅(qū)動,默認(rèn)使用的是smtp driver => env(MAIL_DRIVER, smtp), 發(fā)送郵件的主機地址 host => env(MAIL_HOST, smt...
摘要:簡介安裝完成后輸入開始初始化,生成默認(rèn)的配置文件命令的實現(xiàn)在文件中目錄則包含了初始化相關(guān)的模板命令類類繼承了的類,實現(xiàn)為一個命令行的命令構(gòu)造函數(shù)構(gòu)造函數(shù)主要初始化了的和兩個變量是一個包含了多個模板的初始化器具體實現(xiàn)就是下面將要分析的是初始化 0 簡介 Deployer安裝完成后輸入dep init開始初始化,生成默認(rèn)的配置文件deploy.phpinit命令的實現(xiàn)在srcConsole...
摘要:支持短信驗證碼未驗證時,用戶再次請求驗證碼,在有效分鐘內(nèi)驗證碼保持一致。集成短信發(fā)送路由,支持和發(fā)送方式。有效期為分鐘,請盡快驗證。 Laravel Sms Laravel 貼合實際需求同時滿足多種通道的短信發(fā)送組件 showImg(https://segmentfault.com/img/remote/1460000013101233);showImg(https://segment...
摘要:小紅要以最低成本最快速度推出版本,投放市場,收集反饋,持續(xù)迭代??偨Y(jié)在技能掌握充足的情況下,個人感覺開發(fā)效率要略高于。 我個人是比較不喜歡去正兒八經(jīng)的比較兩個框架的,這樣沒有意義,不過欲善其事先利其器! 技術(shù)是相通的,但是在某個特定的領(lǐng)域的某個階段肯定有相對最適合的一個工具! 這里比較不是從技術(shù)角度比較,而是從公司技術(shù)選型考慮的,特別是初創(chuàng)的互聯(lián)網(wǎng)創(chuàng)業(yè)公司。沒辦法,誰讓互聯(lián)網(wǎng)公司離不開...
閱讀 2988·2021-11-19 09:40
閱讀 3943·2021-10-09 09:43
閱讀 2746·2021-09-22 15:31
閱讀 1842·2021-07-30 15:31
閱讀 844·2019-08-30 15:55
閱讀 3324·2019-08-30 15:54
閱讀 1253·2019-08-30 11:26
閱讀 1976·2019-08-29 13:00