Laravel配置双模板的方法介绍(代码示例)
发布时间 - 2019-03-02 00:00:00 点击率:次本篇文章给大家带来的内容是关于laravel配置双模板的方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
在开发过程中, 不时会遇到某些项目需要使用两套模板
如PC端和Mobile端使用不同的模板文件, 以达到最佳的用户体验
遇到这种情况我们应该如何配置Laravel的模板文件呢?
1. 安装whichbrowser/parser 传送门: WhichBrowser/Parser-PHP
用于判断PC或
Mobile设备, 按需加载不同的模板
composer require whichbrowser/parser
2. 使用artisan命令新建一个Middleware(中间件)
执行后会在app/Http/Middleware目录生成中间件文件
php artisan make:middleware Template
3. 编辑Template.php文件
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.php类中 按需注册中间件
如注册全局中间件:
protected $middleware = [
\App\Http\Middleware\Template::class,
];搞定, 就可以根据不同的设备加载不同的模板文件了
在控制中只需这样, 就可以根据不同的设备来加载不同的模板了
return view('registration.index', $data);如从PC设备打开网页: 加载 /resources/views/pc/registration/index.blade.php 模板
如从移动设备打开网页: 加载 /resources/views/mobile/registration/index.blade.php 模板
# php
# laravel
# 中间件
# http
# 加载
# 就可以
# 按需
# 打开网页
# 只需
# 对你
# 会在
# 有一定
# 给大家
# 这种情况
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何配置Horizon来管理队列?(安装和使用)
nodejs redis 发布订阅机制封装实现方法及实例代码
如何用AWS免费套餐快速搭建高效网站?
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
微信h5制作网站有哪些,免费微信H5页面制作工具?
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
nginx修改上传文件大小限制的方法
java ZXing生成二维码及条码实例分享
C++用Dijkstra(迪杰斯特拉)算法求最短路径
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
java获取注册ip实例
jQuery中的100个技巧汇总
Laravel如何实现文件上传和存储?(本地与S3配置)
详解jQuery中的事件
如何在阿里云域名上完成建站全流程?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
🚀拖拽式CMS建站能否实现高效与个性化并存?
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
Python并发异常传播_错误处理解析【教程】
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
如何快速重置建站主机并恢复默认配置?
使用豆包 AI 辅助进行简单网页 HTML 结构设计
Java垃圾回收器的方法和原理总结
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
音响网站制作视频教程,隆霸音响官方网站?
文字头像制作网站推荐软件,醒图能自动配文字吗?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
焦点电影公司作品,电影焦点结局是什么?
Android利用动画实现背景逐渐变暗
php json中文编码为null的解决办法
Laravel如何使用Livewire构建动态组件?(入门代码)
百度浏览器如何管理插件 百度浏览器插件管理方法
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
制作公司内部网站有哪些,内网如何建网站?
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
如何用已有域名快速搭建网站?
详解Android图表 MPAndroidChart折线图
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
教你用AI将一段旋律扩展成一首完整的曲子
Android Socket接口实现即时通讯实例代码
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
如何在阿里云通过域名搭建网站?
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
如何用IIS7快速搭建并优化网站站点?
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
如何在服务器上三步完成建站并提升流量?

