jeremykenedy / laravel-packagist
v1.0.1
2019-07-10 07:21 UTC
Requires
- php: >=7.1.3
This package is auto-updated.
Last update: 2024-09-15 11:34:35 UTC
README
Laravel Packagist
Laravel Packagist (LaravelPackagist) 是一个用于 Laravel 5 与 Packagist API 快速轻松交互的包。
目录
特性
要求
安装说明
-
在终端中从项目的根目录运行以下命令
composer require jeremykenedy/laravel-packagist
-
注册包
-
Laravel 5.5 及以上版本使用包自动发现功能,无需编辑
config/app.php
文件。 -
Laravel 5.4 及以下版本在
config/app.php
中的providers
下通过以下方式注册包
'providers' => [ jeremykenedy\LaravelPackagist\LaravelPackagistServiceProvider::class, ];
- 可选地,通过从项目的根目录运行以下命令发布包的视图、配置文件、资源和语言文件
发布所有资源
php artisan vendor:publish --provider="jeremykenedy\LaravelPackagist\LaravelPackagistServiceProvider"
发布特定资源
php artisan vendor:publish --tag=laravelpackagist-config php artisan vendor:publish --tag=laravelpackagist-lang
用法
- 将以下内容添加到调用方法的文件的开头
use jeremykenedy\LaravelPackagist\App\Services\PackagistApiServices;
文件示例
<?php
namespace App\Services\Sections;
use jeremykenedy\LaravelPackagist\App\Services\PackagistApiServices;
- 使用以下方式调用方法
// Vendors PackagistApiServices::getPackagistVendorRepositoriesList('VENDOR-NAME-HERE'); PackagistApiServices::getVendorPackagesCount('VENDOR-NAME-HERE'); PackagistApiServices::getVendorsPackagesDetails('VENDOR-NAME-HERE'); PackagistApiServices::getVendorsTotalDownloads('VENDOR-NAME-HERE'); PackagistApiServices::getVendorsTotalStars('VENDOR-NAME-HERE'); // Individual Packages PackagistApiServices::getPackageDownloads('VENDOR-NAME-HERE/PACKAGE-NAME-HERE'); PackagistApiServices::getPackageDailyDownloads('VENDOR-NAME-HERE/PACKAGE-NAME-HERE'); PackagistApiServices::getPackageMonthlyDownloads('VENDOR-NAME-HERE/PACKAGE-NAME-HERE'); PackagistApiServices::getPackageTotalDownloads('VENDOR-NAME-HERE/PACKAGE-NAME-HERE'); PackagistApiServices::getPackageTotalForks('VENDOR-NAME-HERE/PACKAGE-NAME-HERE'); PackagistApiServices::getPackageTotalOpenIssues('VENDOR-NAME-HERE/PACKAGE-NAME-HERE'); PackagistApiServices::getPackageTotalRepo('VENDOR-NAME-HERE/PACKAGE-NAME-HERE'); PackagistApiServices::getPackageTotalStars('VENDOR-NAME-HERE/PACKAGE-NAME-HERE'); PackagistApiServices::getPackageTotalWatchers('VENDOR-NAME-HERE/PACKAGE-NAME-HERE'); PackagistApiServices::getVendorsPackageDetails('VENDOR-NAME-HERE/PACKAGE-NAME-HERE');
配置
有许多可配置的选项,它们都已扩展为可以通过 .env
文件变量进行配置。因此,无需直接编辑配置文件。
- 请参阅配置文件:laravelpackagist.php.
<?php return [ /* |-------------------------------------------------------------------------- | Packagist Caching Settings |-------------------------------------------------------------------------- */ 'caching' => [ 'enabled' => env('PACKAGIST_CACHE_ENABLED', TRUE), 'vendorListCacheTime' => env('PACKAGIST_VENDOR_LIST_CACHE_TIME_MINUTES', 100), 'vendorItemCacheTime' => env('PACKAGIST_VENDOR_ITEM_CACHE_TIME_MINUTES', 100), ], /* |-------------------------------------------------------------------------- | Packagist CURL Settings |-------------------------------------------------------------------------- */ 'curl' => [ 'timeout' => env('PACKAGIST_CURL_TIMEOUT', 30), 'maxredirects' => env('PACKAGIST_CURL_MAX_REDIRECTS', 10), ], /* |-------------------------------------------------------------------------- | Packagist API URLS |-------------------------------------------------------------------------- */ 'urls' => [ 'vendorBase' => env('PACKAGIST_API_VENDOR_URL_BASE', 'https://packagist.org.cn/packages/list.json?vendor='), 'projectPreFix' => env('PACKAGIST_API_VENDOR_PROJECT_BASE_PREFIX', 'https://packagist.org.cn/packages/'), 'projectPostFix' => env('PACKAGIST_API_VENDOR_PROJECT_BASE_POSTFIX', '.json'), ], /* |-------------------------------------------------------------------------- | Packagist default vendor |-------------------------------------------------------------------------- */ 'vendor' => [ 'default' => env('PACKAGIST_DEFAULT_VENDOR', 'jeremykenedy'), ], /* |-------------------------------------------------------------------------- | Packagist logging |-------------------------------------------------------------------------- */ 'logging' => [ 'curlErrors' => env('PACKAGIST_LOG_CURL_ERROR', TRUE), ],
环境文件
PACKAGIST_CACHE_ENABLED=TRUE PACKAGIST_VENDOR_LIST_CACHE_TIME_MINUTES=100 PACKAGIST_VENDOR_ITEM_CACHE_TIME_MINUTES=100 PACKAGIST_CURL_TIMEOUT=30 PACKAGIST_CURL_MAX_REDIRECTS=10 PACKAGIST_API_VENDOR_URL_BASE='https://packagist.org.cn/packages/list.json?vendor=' PACKAGIST_API_VENDOR_PROJECT_BASE_PREFIX='https://packagist.org.cn/packages/' PACKAGIST_API_VENDOR_PROJECT_BASE_POSTFIX='.json' PACKAGIST_DEFAULT_VENDOR='jeremykenedy' PACKAGIST_LOG_CURL_ERROR=TRUE
文件树
├── .gitignore..git ├── .travis.yml ├── LICENSE ├── README.md ├── composer.json ├── phpunit.xml └── src ├── App │ ├── Services │ │ └── PackagistApiServices.php │ └── Traits │ └── PackagistApiTrait.php ├── LaravelPackagistFacade.php ├── LaravelPackagistServiceProvider.php ├── config │ └── laravelpackagist.php └── resources └── lang └── en └── laravelpackagist.php
- 可以使用 brew 安装 tree 命令:
brew install tree
- 使用以下命令生成的文件树:
tree -a -I '.git|node_modules|vendor|storage|tests'
许可证
Laravel Packagist 根据 MIT 许可证 发布。享受使用吧!