Skip to content

open-sausages/packagist-api

 
 

Repository files navigation

Packagist API

Build Status Latest Stable Version Total Downloads

Simple object oriented wrapper for Packagist API.

Requirements

  • PHP ^7.1

Installation

The recommended way to install Packagist API is through composer:

$ composer require knplabs/packagist-api

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
...

You can limit results to a desired amount of pages:

<?php

$client->search('sylius', [], 2)  // get first 2 pages

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.

Maintainers

KNPLabs is looking for maintainers (see why).

If you are interested, feel free to open a PR to ask to be added as a maintainer.

We’ll be glad to hear from you :)

This library is maintained by the following people (alphabetically sorted) :

  • @robbieaverill

Packages

No packages published

Languages

  • PHP 100.0%