workman服务端开发模式-应用开发-后端api登录之浏览器版本工具开发

一、浏览器版本工具开发

在根目录下extend文件夹下Other文件夹下创建浏览器控制工具并命名为Browser.php,代码如下:

复制代码
<?php
/**
 * 浏览器管理
 * User: 龙哥 三年风水
 * Date: 2024/12/21/0021
 * Time: 21:58
 */
namespace Other;
class Browser
{

    /**
     * 获取浏览器及版本
     * @ return string
     */

    public static function getVersion(){
        $userAgent = $_SERVER['HTTP_USER_AGENT'];
        $browser = 'unknown';
        $version = 0;
        if (preg_match('/MSIE (\d+[\.\d]+)/i', $userAgent, $matches)) {
            $browser = 'ie';
            $version = (float)$matches[1];
        } elseif (preg_match('/Firefox\/(\d+[\.\d]+)/i', $userAgent, $matches)) {
            $browser = 'firefox';
            $version = (float)$matches[1];
        } elseif (preg_match('/Chrome\/(\d+[\.\d]+)/i', $userAgent, $matches)) {
            $browser = 'chrome';
            $version = (float)$matches[1];
        } elseif (preg_match('/Safari\/(\d+[\.\d]+)/i', $userAgent, $matches) && preg_match('/Version\/(\d+[\.\d]+)/i', $userAgent, $matches2)) {
            $browser = 'safari';
            $version = (float)$matches2[1];
        } elseif (preg_match('/Opera[\s\/](\d+[\.\d]+)/i', $userAgent, $matches)) {
            $browser = 'opera';
            $version = (float)$matches[1];
        } elseif (preg_match('/OPR\/([^\s]+)/', $userAgent, $matches)) {
            $browser = 'opera';
            $version = (float)$matches[1];
        }
        return $browser.$version;
    }
}

二、测试浏览器版本工具

1、添加路由

在根目录下route文件夹下app.php文件中追加如下代码:

复制代码
Route::get('index/index','Index/index');// 测试使用

2、代码调用测试

在根目录下app文件夹下controller文件夹下修改Index.php,代码如下:

复制代码
<?php
namespace app\controller;
use Other\Browser;

class Index extends Emptys
{
    public function index()
    {
        $browser = Browser::getVersion();
        var_dump($browser);exit;
    }
}
相关推荐
取码网2 小时前
最新在线留言板系统PHP源码
开发语言·php
不写八个2 小时前
PHP教程006:ThinkPHP项目入门
开发语言·php
Freak嵌入式4 小时前
Wiznet以太网模块实现在线动态安装库和自动依赖安装-使用uPyPI包管理平台
开发语言·php
jwn9998 小时前
PHP vs Java:核心区别与选型指南
java·开发语言·php
lingggggaaaa10 小时前
PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
数据库·sql·安全·web安全·php
问道飞鱼10 小时前
【分布式技术】RustFS 非 Docker 部署完整指南:从单机到生产集群
分布式·docker·容器·rustfs
源码网10 小时前
Swoft 2.x 正确启动命令
php·swoft
DJ斯特拉10 小时前
Redisson分布式锁
分布式
Ssan PRIN11 小时前
Modbus报文详解
服务器·开发语言·php
小草cys12 小时前
review20260404
开发语言·php