/packagist-api

PHP API for Packagist

Primary LanguagePHPMIT LicenseMIT

Packagist API Build Status HHVM Status Latest Stable Version Total Downloads

Simple object oriented wrapper for Packagist API.

Installation

The recommended way to install Packagist API is through composer:

{
    "require": {
        "knplabs/packagist-api": "1.*@dev"
    }
}

Usage

Search for packages:

<?php

$client = new Packagist\Api\Client();

foreach ($client->search('sylius') as $result) {
    echo $result->getName();
}

// Outputs:
sylius/sylius
sylius/resource-bundle
sylius/cart-bundle
sylius/flow-bundle
sylius/sales-bundle
sylius/shipping-bundle
sylius/taxation-bundle
sylius/money-bundle
sylius/assortment-bundle
sylius/addressing-bundle
sylius/payments-bundle
sylius/taxonomies-bundle
sylius/inventory-bundle
sylius/settings-bundle
sylius/promotions-bundle
...

Get package details:

<?php

$package = $client->get('sylius/sylius');

printf(
    'Package %s. %s.',
    $package->getName(),
    $package->getDescription()
);

// Outputs:
Package sylius/sylius. Modern ecommerce for Symfony2.

List all packages:

<?php

foreach ($client->all() as $package) {
    echo $package;
}

// Outputs:
abhinavsingh/jaxl
abishekrsrikaanth/fuel-util
abmundi/database-commands-bundle
...

They can be filtered by type or vendor:

<?php

$client->all(array('type' => 'library'));
$client->all(array('vendor' => 'sylius'));

Custom Packagist Repositories

You can also set a custom Packagist Repository URL:

<?php

$client->setPackagistUrl('https://custom.packagist.site.org');

License

packagist-api is licensed under the MIT License - see the LICENSE file for details.