A php package to display repository badges
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
.gitignore
.travis.yml
composer.json
phpunit.xml
readme.md

readme.md

Badges Latest Stable Version Total Downloads Latest Unstable Version License Build Coverage Status

A PHP package to render out package badges

Installation

This package requires PHP 5.6+

To install through composer include the package in your composer.json.

"midnite81/badges": "^1.0.0"

Run composer install or composer update to download the dependencies or you can run composer require midnite81/badges.

Badges Supported

Type Example
Latest Stable Latest Stable Version
Total Downloads Total Downloads
Latest Unstable Latest Unstable Version
Licence License
Build Build
Coverage Coverage Status
Gitter Join the chat at https://gitter.im/midnite81-badges
StyleCI (Image Coming soon)
Scrutinizer (Image Coming soon)

Over time support for other badges will be added. You can create your own templates which extend Midnite81\Badges\Type\BadgeType and can be passed through the $badges->get(MyClass::class) method. More documentation on adding your own templates will be added later.

Example Usage

Firstly, you need to create an instance of badges.

use Midnite81\Badges\Badges;
$badges = new Badges($attributes);
// or 
$badges = Badges::create($attributes);

You'll notice that a variable of $attributes is passed on construction. The attributes are what the package will use to translate the template. By default we're only going to pass the following attributes as they are needed for the supported badges. Obviously update the above attributes to suit your own needs.

$attributes = [
    '$PACKAGE_NAME$' => 'midnite81/badges', // Your GitHub package repo name
    '$STYLE_CI$' => 'repoNumber', // Your StyleCi repo number
    '$GITTER_ROOM$' => 'room-name' // Your gitter room name
];

Once the class is instantiated, you then need to select the type of badge you want.

$myBadge = $this->latestStableVersion();

This will return you a Writer object, which you can call ->toHtml() or ->toMarkdown on for the final rendering of the badge. The default _toString method will return the html version.

So all in all;

use Midnite81\Badges\Badges;
$badges = Badges::create(['$PACKAGE_NAME$' => 'midnite81/badges']); 

echo $badges->latestStableVersion()->toMarkdown(); 

will output

Latest Stable Version

[![Latest Stable Version](https://poser.pugx.org/midnite81/badges/version)](https://packagist.org/packages/midnite81/badges)