## 說明
在使用瀏覽器發起的 HTTP 請求中,通常會包含一個識別標識。它名為 User Agent,簡稱 UA。它是一串包含了客戶端基礎信息的字符串。通過它可以方便的獲取客戶端的操作系統,語言,瀏覽器和版本信息。
在 PHP 中查看客戶端 UA 標識的方式是讀取系統常量 $_SERVER 中的 HTTP_USER_AGENT 選項:
~~~
echo $_SERVER['HTTP_USER_AGENT'];
~~~
## 使用
推薦一個輕松識別客戶端信息的composer組件jenssegers/agent,雖然這個擴展官方為laravel框架開發。由于TP5支持composer依賴管理,親測可用。
>源碼地址: https://github.com/jenssegers/agent
#### 安裝
使用 composer 安裝:
~~~
composer require jenssegers/agent
~~~
#### 基礎用法:
~~~
use Jenssegers\Agent\Agent;
$agent = new Agent();
//設置User Agent,比如在cli模式下用到
$agent->setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2');
$agent->setHttpHeaders($headers);
//Is方法檢測(如:操作系統)
$agent->is('Windows');
$agent->is('Firefox');
$agent->is('iPhone');
$agent->is('OS X');
//魔法方法(如: 廠商產品定位)
$agent->isAndroidOS();
$agent->isNexus();
$agent->isSafari();
//識別移動設備
$agent->isMobile();//手機
$agent->isTablet();//平板
$agent->isDesktop();//桌面端
// 語言
$languages = $agent->languages();
// ['nl-nl', 'nl', 'en-us', 'en']
// 是否是機器人
$agent->isRobot();
// 獲取設備信息 (iPhone, Nexus, AsusTablet, ...)
$agent->device();
// 系統信息 (Ubuntu, Windows, OS X, ...)
$agent->platform();
// 瀏覽器信息 (Chrome, IE, Safari, Firefox, ...)
$agent->browser();
// 獲取瀏覽器版本
$browser = $agent->browser();
$version = $agent->version($browser);
// 獲取系統版本
$platform = $agent->platform();
$version = $agent->version($platform);
~~~
- 前言
- 基礎
- 安裝
- 規范
- 數據庫設計
- 命名規范
- 建議參考
- 架構
- 架構總覽
- 目錄結構
- 生命周期
- 入口文件
- 模塊設計
- 插件設計
- 主題設計
- API設計
- 容器和依賴注入
- 驗證器設計
- 鉤子和行為設計
- 介紹
- 后臺介紹
- 儀表盤
- 系統設置
- 系統設置
- 網站設置
- 前臺導航菜單
- 后臺導航菜單
- 配置管理
- 用戶管理
- 權限管理
- 角色組
- 節點管理
- 附件管理
- 工具
- 擴展中心
- 模塊
- 插件
- 主題
- 前臺介紹
- API接口
- 模型層
- 定義
- 邏輯層
- 定義
- 邏輯初始化
- 服務層
- 定義
- 二次開發
- 模塊開發
- 介紹
- 1.結構目錄
- 2.install安裝目錄文件
- info.json
- options.php
- menus.php
- unstall.sql
- install.sql
- 3.安裝模塊
- 模塊函數與全局函數
- 其他
- 插件開發
- 介紹
- 定義入口文件
- 1.結構目錄
- 2.install安裝目錄文件
- info.json
- options.php
- menus.php
- install.sql
- unstall.sql
- 3.實現鉤子方法
- 4.安裝插件
- 開發使用
- 插件控制器Controller
- 插件模型Model
- 插件邏輯層Logic
- 開發總結
- 主題開發
- 介紹
- 結構目錄
- install安裝目錄
- info.json
- 主題變量
- 模塊主題化
- 插件主題化
- CSS、JS靜態資源引入
- 創建模版文件
- API開發
- 通用組件
- wangeditor編輯器
- 上傳
- 實戰開發
- 控制器
- 驗證器
- 接口
- 創建自定義模版
- 數據庫操作
- 通過接口上傳文件
- 構建器Builder(重要)
- 表單Form
- 設置頁面標題
- 表單項(調用方式)
- 文本框text
- 隱藏域hidden
- 文本區textarea
- 時間選擇器datetime
- 圖片選擇器picture
- 多圖片選擇器pictures
- 圖片上傳image
- 文件上傳file
- wang編輯器wangeditor
- 百度富文本編輯器ueditor
- 選擇項
- 添加標簽欄Tab
- 自定義頭部工具欄
- 表單提交處理
- 列表List
- 設置頁面標題
- 添加標簽欄Tab
- 高級查詢
- 查詢構造器
- 添加列表搜索功能
- 添加批量操作
- 自定義頭部工具
- 頂部新增按鈕
- 頂部批量啟用
- 頂部批量禁用
- 排序Sort
- 表單驗證
- 插件-Builder構建器
- 命令行
- 配置
- 擴展專題
- 輕松識別客戶端信息User Agent
- 字符串
- 數組
- 鉤子、插件、模塊相關方法
- 時間
- 請求(request)
- 附件
- 用戶信息
- 前臺用戶
- 后臺用戶
- 微信(wechat模塊)
- 專題
- 插件專題
- 微信支付
- 支付寶(即時到賬)
- 微信小程序專題
- 微信模塊
- 日志
- 后臺行為日志
- 框架日志
- 自定義日志
- 常見問題集
- 附錄
- 配置參考
- 常量參考
- 變量參考
- 更新日志
- 升級指導
- 關于
- 進階
- 分布式數據庫
- 分布式緩存
- 負載均衡
- Redis
- 分庫分表