yii2-packagist-component — yii 2 Packagist API extension component.

yii2-packagist-component — yii 2 Packagist API extension component.

skeeks/yii2-packagist-component

Установить

Все современные разработчики знают Composer и Packagist (ну, или слышали об этих вещах). Так вот если вам, в вашем проекте потребуется чтение данных о пакетах, то этот компонент поможет вам. Например, в нашем маркетплейс, как раз используется этот компонент.

Время публикации: четверг, 25 февраля 2016 г. (8 лет назад)

Добавил: Семенов Александр Сергеевич

Категория: Прочее

Актуальная версия:
1 янв. 1970 г., 3:00:00 (54 года назад)

Packagist: skeeks/yii2-packagist-component

: https://github.com/skeeks-semenov/yii2-packagist-component

:

Тип: Компонент


Все современные разработчики знают Composer и Packagist (ну, или слышали об этих вещах). Так вот если вам, в вашем проекте потребуется чтение данных о пакетах, то этот компонент поможет вам. Например, в нашем маркетплейс, как раз используется этот компонент. Ну и конечно же кэшируйте данные о пакетах, они меняются не так часто.

Первоначальный автор проекта: https://github.com/2amigos/yii2-packagist-component (можете использовать его компонент, но он давно не обновлялся)

В текущем исправлены некоторые баги (получение Readme информации по проекту)

Пример кэширования информации о пакетах:

    protected $_info = false;
    /**
     * @return \dosamigos\packagist\Package
     */
    public function getInfo()
    {
        if ($this->_info === false)
        {
            $key = $this->packagistCode;
            if (!\Yii::$app->cache->exists($key))
            {
                $api = new \dosamigos\packagist\Packagist;

                // get a package information
                $response = $api->package($this->packagistCode)->getResponse();
                // dump response
                /**
                 * @var $package \dosamigos\packagist\Package;
                 */
                \Yii::$app->cache->add($key, $response->body, 3600*2); //2 часов
                $this->_info = $response->body;
            } else
            {
                $this->_info = \Yii::$app->cache->get($key);
            }

        }

        return $this->_info;
    }

 

Packagist API wrapper component extension for Yii2

Component extension wrapper for Packagist API

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require "skeeks/yii2-packagist-component" "*"

or add

"skeeks/yii2-packagist-component" : "*"

to the require section of your application’s composer.json file.

Usage

use dosamigos\packagist\Packagist;

$api = new Packagist;

// get a package information  
$response = $api->package('yiisoft/yii2`)->getResponse();  
// dump response  
var_dump($response->body);

// get a filtered list  
$response = $api->all(['vendor' => '2amigos'])->getResponse();
if($response->isSuccessFul) {
    var_dump($response->body);
} else {
    var_dump($response->error);
}

// search packages
$response = $api->search('yii2')->getResponse();  
var_dump($response->body);  

skeeks! SkeekS CMS (Yii2) — fast, simple, effective! skeeks.com | cms.skeeks.com | marketplace.cms.skeeks.com


Все комментарии (0)
Нет комментариев

dev-master — 1 янв. 1970 г., 3:00:00 (54 года назад)

0.1.2 — 1 янв. 1970 г., 3:00:00 (54 года назад)

0.1.1 — 1 янв. 1970 г., 3:00:00 (54 года назад)

0.1.0 — 1 янв. 1970 г., 3:00:00 (54 года назад)

Стандартная установка:

Добавьте composer.json файл вашего проекта:

"skeeks/yii2-packagist-component": "*"

Запустите обновление зависимостей


Читать про обнолвение SkeekS CMS