PHPackages                             opawg/user-agents-v2-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. opawg/user-agents-v2-php

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

opawg/user-agents-v2-php
========================

PHP implementation for opawg/user-agents-v2.

01.1kPHP

Since Dec 20Pushed 2y ago4 watchersCompare

[ Source](https://github.com/opawg/user-agents-v2-php)[ Packagist](https://packagist.org/packages/opawg/user-agents-v2-php)[ RSS](/packages/opawg-user-agents-v2-php/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

user-agents-v2-php
==================

[](#user-agents-v2-php)

This is a dummy PHP implementation for both [opawg/user-agents-v2](https://github.com/opawg/user-agents-v2) and [opawg/podcast-rss-useragents](https://github.com/opawg/podcast-rss-useragents)

**Note:** For compatibility issue with [user-agents-php](https://github.com/opawg/user-agents-php) (version 1), the field `os` has not been deleted but is now deprecated and is always empty.

Installation
------------

[](#installation)

### Via composer

[](#via-composer)

- Add `opawg/user-agents-v2-php` to your `composer.json`.
- Add `post-install-cmd` / `post-update-cmd` scripts to your `composer.json` so that the class is generated.

```
{
  "require": {
    "opawg/user-agents-v2-php": "*"
  },
  "scripts": {
    "post-install-cmd": [
      "@php vendor/opawg/user-agents-v2-php/src/UserAgentsGenerate.php >  vendor/opawg/user-agents-v2-php/src/UserAgents.php",
      "@php vendor/opawg/user-agents-v2-php/src/UserAgentsRSSGenerate.php >  vendor/opawg/user-agents-v2-php/src/UserAgentsRSS.php"
    ],
    "post-update-cmd": [
      "@php vendor/opawg/user-agents-v2-php/src/UserAgentsGenerate.php >  vendor/opawg/user-agents-v2-php/src/UserAgents.php",
      "@php vendor/opawg/user-agents-v2-php/src/UserAgentsRSSGenerate.php >  vendor/opawg/user-agents-v2-php/src/UserAgentsRSS.php"
    ]
  }
}

```

### Manually

[](#manually)

- Clone git repository where you need it:

```
$ git clone https://github.com/opawg/user-agents-v2-php.git

```

- Generate the classes:

```
$ php src/UserAgentsGenerate.php >  src/UserAgents.php
$ php src/UserAgentsRSSGenerate.php >  src/UserAgentsRSS.php

```

Or with composer:

```
$ composer run-script post-install-cmd

```

Usage
-----

[](#usage)

When you need it, just call `\Opawg\UserAgentsV2Php\UserAgents::find()` for audio files or `\Opawg\UserAgentsV2Php\UserAgentsRSS::find()` for RSS feed:

```
$player = \Opawg\UserAgentsV2Php\UserAgents::find($_SERVER['HTTP_USER_AGENT']);
if($player){
	print player['app']."\n";
	print player['device']."\n";
	print player['os']."\n";
	print player['bot']."\n";
} else {
	print "This user-agent was not found.\n";
}

$service = \Opawg\UserAgentsV2Php\UserAgentsRSS::find($_SERVER['HTTP_USER_AGENT']);
if($player){
	print service['name']."\n";
	print service['slug']."\n";
	print service['url']."\n";
} else {
	print "This user-agent was not found.\n";
}

```

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity20

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/7da0caebaf724e2625f7858c000103d0325a9f60c9f22f7d681de27321db89d9?d=identicon)[benjaminbellamy](/maintainers/benjaminbellamy)

---

Top Contributors

[![benjaminbellamy](https://avatars.githubusercontent.com/u/1984208?v=4)](https://github.com/benjaminbellamy "benjaminbellamy (5 commits)")

### Embed Badge

![Health badge](/badges/opawg-user-agents-v2-php/health.svg)

```
[![Health](https://phpackages.com/badges/opawg-user-agents-v2-php/health.svg)](https://phpackages.com/packages/opawg-user-agents-v2-php)
```

###  Alternatives

[nelexa/roach-php-bundle

Symfony bundle for roach-php/core

101.3k](/packages/nelexa-roach-php-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
