joukhar / laravel-pixabay
Laravel 包,可轻松访问 Pixabay API。
Requires
- php: ^8.0
- illuminate/contracts: ^9.0||^10.0||^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
README
概览
LaravelPixabay 是一个 Laravel 包,简化了与 Pixabay API 的交互过程。它提供了一种以最小努力搜索和检索 Pixabay 平台上的图片和视频的方法。此包包括各种可自定义的选项,如图片/视频类型、类别、排序、分页结果等。
要求
- PHP 8.0 或更高版本
- Laravel 9.x 或更高版本
- Pixabay API 密钥(您可以从 Pixabay 开发者页面 获取)
支持我们
如果您觉得我的包很有用,请考虑买我一杯咖啡以支持进一步的开发。
安装
您可以通过 composer 安装此包
composer require joukhar/laravel-pixabay
您可以将配置文件发布或添加 pixabay 服务到 (config/services.php) 文件
php artisan vendor:publish --tag="laravel-pixabay-config"
配置文件 (config/pixabay.php)
return [ 'key' => env('PIXABAY_API_KEY'), ];
然后,将您的 Pixabay API 密钥添加到 .env 文件
PIXABAY_KEY=your_pixabay_api_key
用法
获取图片
$laravelPixabay = new Joukhar\LaravelPixabay(); $laravelPixabay->getImages();
获取特定图片
$laravelPixabay = new Joukhar\LaravelPixabay(); $laravelPixabay->getImages(id:"< IMAGE ID HERE >");
获取具有特定类型的图片(默认:PixabayImageType::ALL)
use Joukhar\LaravelPixabay\Enums\PixabayImageType; $laravelPixabay = new Joukhar\LaravelPixabay(); $laravelPixabay->getImages(type: PixabayImageType::ILLUSTRATION );
获取视频
$laravelPixabay = new Joukhar\LaravelPixabay(); $laravelPixabay->getVideos();
获取具有特定类型的视频(默认:PixabayVideoType::ALL)
use Joukhar\LaravelPixabay\Enums\PixabayVideoType; $laravelPixabay = new Joukhar\LaravelPixabay(); $laravelPixabay->getVideos(type: PixabayVideoType::ANIMATION);
获取特定视频
$laravelPixabay = new Joukhar\LaravelPixabay(); $laravelPixabay->getVideos(id:"< VIDEO ID HERE >");
自定义 API 请求
您可以使用 LaravelPixabay
类提供的几种配置方法来自定义您的查询。
设置当前页
您可以使用 setCurrentPage()
指定要获取结果页码。
$pixabay->setCurrentPage(2);
设置每页最大结果数
您可以使用 setMaxResults()
调整每页结果数。
$pixabay->setMaxResults(50);
启用安全搜索
要过滤成人内容,请使用 setSafeSearch()
。
$pixabay->setSafeSearch(true);
仅编辑选择
您可以使用 setOnlyEditorChoice()
仅请求编辑精选图片或视频。
$pixabay->setOnlyEditorChoice(true);
设置类别
要获取特定类别的资源,请使用 setCategory()
。
use Joukhar\LaravelPixabay\Enums\PixabayCategory; $pixabay->setCategory(PixabayCategory::NATURE);
设置排序
要按流行度、最新或自定义排序排序结果,请使用 setOrder()
。
$pixabay->setOrder('latest');
设置最小尺寸
您可以使用 setDimensions()
设置返回图片/视频的最小宽度和高度。
$pixabay->setDimentions(800, 600);
示例:获取自然风光照片
use Joukhar\LaravelPixabay\LaravelPixabay; use Joukhar\LaravelPixabay\Enums\PixabayCategory; use Joukhar\LaravelPixabay\Enums\PixabayImageType; $pixabay = new LaravelPixabay(); $photos = $pixabay ->setCategory(PixabayCategory::NATURE) ->setMaxResults(10) ->setSafeSearch(true) ->getImages(null, PixabayImageType::PHOTO);
异常处理
如果 API 请求出现问题(例如,无效的 API 密钥、请求失败),则包将抛出一个包含详细错误消息的 Exception
。
try { $images = $pixabay->getImages(); } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); }
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略。
致谢
许可
MIT 许可证(MIT)。有关更多信息,请参阅 许可文件。