torann / device-view
为Laravel提供基于设备的视图布局支持。
0.0.4
2017-01-26 18:41 UTC
Requires
- php: >=5.5.9
- illuminate/support: ~5.1
- mobiledetect/mobiledetectlib: 2.*
Requires (Dev)
- mockery/mockery: ^0.9.4
- phpunit/phpunit: ~5.0
This package is auto-updated.
Last update: 2024-09-08 09:17:06 UTC
README
根据访问者的设备动态更改Laravel视图。
安装
Composer
从命令行运行
composer require torann/device-view
设置
此包扩展了Laravel内置的ViewServiceProvider
,因此必须在app/app.php
中替换此服务提供者。将'Illuminate\View\ViewServiceProvider',
替换为'Torann\DeviceView\DeviceViewServiceProvider',
。
发布配置
从项目的根目录运行此命令行
$ php artisan vendor:publish --provider="Torann\DeviceView\DeviceViewServiceProvider"
配置文件将被发布到config/device-view.php
。
配置
默认设置是设备视图位于resources/
目录下的views
目录中,默认主题为default
。
resources/
views/
default/
mobile/
tablet/
使用方法
对View::make('index')
的标准调用将在resources/views/default/
中查找index视图。然而,如果在使用View::make()
之前使用$app['view.finder']->setDeviceView('mobile');
指定了主题,那么视图将首先在resources/views/mobile/views
中查找。如果当前主题找不到视图,则将搜索默认主题。
门面
如果愿意,也可以使用DeviceView
门面DeviceView::setDeviceView('mobile')
,通过在config/app.php
中添加一个条目Torann\DeviceView\Facades\DeviceView
。
辅助方法
DeviceView::getPlatform()
返回用户的操作系统。
示例
给定以下目录结构:
resources/
views/
default/
layout.blade.php
admin.blade.php
mobile/
layout.blade.php
View::make('layout'); // Loads resources/views/default/layout.blade.php
$app['view.finder']->setDeviceView('default');
View::make('layout'); // Loads resources/views/mobile/layout.blade.php
View::make('admin'); // Loads resources/views/default/admin.blade.php