123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- <mddoc>
- <docpage target="README.md" autoloader="psr0" autoloader-root="src">
- <section title="PHP User Agent Parser">
- <text><![CDATA[
- [![Join the chat at https://gitter.im/PhpUserAgentParser/Lobby](https://badges.gitter.im/PhpUserAgentParser/Lobby.svg)](https://gitter.im/PhpUserAgentParser/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
- ]]></text>
- <badge-poser type="version"/>
- <badge-poser type="downloads"/>
- <badge-poser type="license"/>
- <badge-travis name="donatj/phpUserAgent"/>
- <badge-github-action name="donatj/phpUserAgent" workflow="CI"/>
- <section title="What It Is">
- <text><![CDATA[
- A simple, streamlined PHP user-agent parser!
- Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
- ]]></text>
- </section>
- <section title="Upgrading to `1.*`">
- <text><![CDATA[
- The new `1.*` release **does not break compatibility** with `0.*` and nothing need to change to upgrade. However, the global `parse_user_agent` is now deprecated; it has been replaced with the namespaced `\donatj\UserAgent\parse_user_agent` and functions exactly the same. You can easily replace any existing call to `parse_user_agent` with `\donatj\UserAgent\parse_user_agent`
- In addition, 1.x adds a convenience object wrapper you may use should you prefer. More information on this is in the Usage section below.
- ]]></text>
- </section>
- <section title="Why Use This">
- <text><![CDATA[
- You have your choice in user-agent parsers. This one detects **all modern browsers** in a very light, quick, understandable fashion.
- It is less than 200 lines of code, and consists of just three regular expressions!
- It can also correctly identify exotic versions of IE others fail on.
- It offers 100% unit test coverage, is installable via Composer, and is very easy to use.
- ]]></text>
- </section>
- <section title="What It Does Not Do">
- <text><![CDATA[
- This is not meant as a browser "knowledge engine" but rather a simple parser. Anything not adequately provided directly by the user agent string itself will simply not be provided by this.
- ]]></text>
- <section title="OS Versions">
- <text><![CDATA[
- User-agent strings **are not** a reliable source of OS Version!
- - Many agents simply don't send the information.
- - Others provide varying levels of accuracy.
- - Parsing Windows versions alone almost nearly doubles the size of the code.
- I'm much more interested in keeping this thing *tiny* and accurate than adding niché features and would rather focus on things that can be **done well**.
- All that said, there is the start of a [branch to do it](https://github.com/donatj/PhpUserAgent/tree/os_version_detection) I created for a client if you want to poke it, I update it from time to time, but frankly if you need to *reliably detect OS Version*, using user-agent isn't the way to do it. I'd go with JavaScript.
- ]]></text>
- </section>
- <section title="Undetectable Browsers">
- <text><![CDATA[
- - **Brave** - Brave is simply not differentiable from Chrome. This was a design decision on their part.
- ]]></text>
- </section>
- </section>
- <section title="Requirements">
- <composer-requires/>
- </section>
- <section title="Installing">
- <text>PHP User Agent is available through Packagist via Composer.</text>
- <composer-install/>
- </section>
- <section title="Usage">
- <text><![CDATA[
- The classic procedural use is as simple as:
- ```php
- $ua_info = parse_user_agent();
- /*
- array(
- 'platform' => '[Detected Platform]',
- 'browser' => '[Detected Browser]',
- 'version' => '[Detected Browser Version]',
- );
- */
- ```
- ]]></text>
- <text><![CDATA[
- The new object oriented wrapper form:
- ```php
- $parser = new UserAgentParser();
- $ua = $parser->parse();
- // or
- $ua = $parser();
- $ua->platform();
- $ua->browser();
- $ua->browserVersion();
- ```
- ]]></text>
- </section>
- <section title="Currently Detected Platforms">
- <exec cmd="php .helpers/constants.php 'donatj\UserAgent\Platforms' 'Platform'"/>
- </section>
- <section title="Currently Detected Browsers">
- <exec cmd="php .helpers/constants.php 'donatj\UserAgent\Browsers' 'Browser'"/>
- </section>
- <text><![CDATA[
- More information is available at [Donat Studios](http://donatstudios.com/PHP-Parser-HTTP_USER_AGENT).
- ]]></text>
- </section>
- </docpage>
- </mddoc>
|