joukhar/laravel-pixabay

Laravel 包,可轻松访问 Pixabay API。

资助包维护!
joukhar

v1.0.1 2024-09-24 11:04 UTC

This package is auto-updated.

Last update: 2024-09-24 11:23:52 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

概览

LaravelPixabay 是一个 Laravel 包,简化了与 Pixabay API 的交互过程。它提供了一种以最小努力搜索和检索 Pixabay 平台上的图片和视频的方法。此包包括各种可自定义的选项,如图片/视频类型、类别、排序、分页结果等。

要求

  • PHP 8.0 或更高版本
  • Laravel 9.x 或更高版本
  • Pixabay API 密钥(您可以从 Pixabay 开发者页面 获取)

支持我们

如果您觉得我的包很有用,请考虑买我一杯咖啡以支持进一步的开发。

Buy Me A Coffee

安装

您可以通过 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)。有关更多信息,请参阅 许可文件