neilime/zf2-browscap

此包已被废弃,不再维护。未建议替代包。

ZF2 Browscap 是一个 Zend Framework 2 模块,提供了改进的 'get_browser' 函数。如果 php.ini 中的 'browscap' 配置设置未定义或未指向 browscap.ini 文件的正确位置,则此模块可以独立使用。

1.1 2013-08-21 12:43 UTC

This package is auto-updated.

Last update: 2020-09-09 19:18:43 UTC


README

⚠️ 此模块适用于 Zend Framework 2,已弃用 ⚠️

Build Status Latest Stable Version Total Downloads Code coverage

注意:如果您想贡献,请随时提出,我会审查任何 PR。

简介

ZF2 Browscap 是一个 Zend Framework 2 模块,提供了改进的 get_browser 函数。如果 php.ini 中的 "browscap" 配置设置未定义或未指向 browscap.ini 文件的正确位置,则此模块可以独立使用。

贡献

如果您想为 ZF2 Browscap 贡献,请阅读 CONTRIBUTING.md 文件。

要求

安装

主要设置

通过克隆项目

  1. 通过将其克隆到 ./vendor/ 中来安装 browscap
  2. 将此项目克隆到您的 ./vendor/ 目录中。

使用 composer

  1. 在您的 composer.json 中添加此项目

    "require": {
        "neilime/zf2-browscap": "dev-master"
    }
  2. 现在运行以下命令让 composer 下载 ZF2 Browscap

    $ php composer.phar update

安装后

  1. 在您的 application.config.php 文件中启用它。

    <?php
    return array(
        'modules' => array(
            // ...
            'Neilime\Browscap',
        ),
        // ...
    );

配置

  • string browscap_ini_path : (可选) 仅在原生 PHP 函数 get_browser 不可用或如果将 allows_native_get_browser 选项设置为 false 时才需要。定义 browscap.ini 文件的路径(允许本地或远程文件)
  • Zend\Cache\Storage\StorageInterface|string|array cache: (可选) 定义用于存储解析后的 browscap.ini 的缓存存储适配器。
    允许使用类名和服务检索 Zend\Cache\Storage\StorageInterface,或使用 Zend\Cache\StorageFactory::factory 的数组。这不仅可以在每次调用时节省加载和解析 "browscap.ini",还可以确保一个优化的加载过程。
  • boolean allows_native_get_browser: 定义如果原生 PHP 函数 get_browser 可用,则是否可以使用它。

如何使用 ZF2 Browscap

ZF2 Browscap 模块提供了一种服务、视图助手和控制器插件

  1. 使用服务管理器调用 Browscap

    /* @var $serviceManager \Zend\ServiceManager\ServiceLocatorInterface */	
    
    $browscap = $serviceManager->get('BrowscapService'); //Retrieve "\Neilime\Browscap\BrowscapService" object
    var_dump($browscap->getBrowser()); //Display an object which will contain various data elements representing, for instance, the browser's major and minor version numbers and ID string;
  2. 在控制器中调用 Browscap,“get_browser” 插件期望与原生 PHP 函数 get_browser 相同的参数。

    $browscap = $this->get_browser(); //Retrieve an object
    echo $browscap->parent;
    
    $browscap = $this->get_browser(null,true); //Retrieve an array
    echo $browscap['parent'];
    
    $browscap = $this->get_browser(
    	\Zend\Http\Header\UserAgent::fromString('User-Agent: Mozilla/5.0 (Linux; Android 4.0.4; Desire HD Build/IMM76D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19')
    ); //Retrieve an object with an arbitrary user agent
    echo $browscap->parent;   	
  3. 在视图中调用 Browscap,“get_browser” 助手期望与原生 PHP 函数 get_browser 相同的参数。

    $browscap = $this->get_browser(); //Retrieve an object
    echo $browscap->parent;
    
    $browscap = $this->get_browser(null,true); //Retrieve an array
    echo $browscap['parent'];
       	
    $browscap = $this->get_browser(
    	\Zend\Http\Header\UserAgent::fromString('User-Agent: Mozilla/5.0 (Linux; Android 4.0.4; Desire HD Build/IMM76D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19')
    ); //Retrieve an object with an arbitrary user agent
    echo $browscap->parent;

工具

ZF2 Browscap 提供控制台工具。

特性

Load & parse "browscap.ini" file (or update cached browscap.ini)

用法

加载 & 解析 "browscap.ini" 文件

php public/index.php load-browscap