yanick-k/images-faker-lorem
Composer 安装命令:
composer require yanick-k/images-faker-lorem
包简介
Reliable Lorem.Space image provider for FakerPHP.
README 文档
README
Reliable Lorem.Space image provider for FakerPHP.
The package adds Faker formatters that generate Lorem.Space URLs or download the generated image into a local directory.
Requirements
- PHP 8.2 or higher
fakerphp/faker- cURL extension recommended for downloads.
allow_url_fopenis supported as a fallback.
Install
composer require yanick-k/fakerphp-lorem-space-provider
Usage
use Faker\Factory; use Lorem\Faker\LoremSpaceProvider; $faker = Factory::create(); $faker->addProvider(new LoremSpaceProvider($faker)); $url = $faker->loremSpaceUrl(LoremSpaceProvider::CATEGORY_FACE); // https://api.lorem.space/image/face?w=640&h=480 $path = $faker->loremSpace( LoremSpaceProvider::CATEGORY_FACE, __DIR__ . '/tmp', 320, 320 );
API
loremSpaceUrl(string $category, int $width = 640, int $height = 480): string
Returns a Lorem.Space image URL.
Width and height are clamped to Lorem.Space limits:
- minimum:
8 - maximum:
2000
loremSpace(string $category, ?string $dir = null, int $width = 640, int $height = 480, bool $fullPath = true): string|false
Downloads the image and returns the saved path.
$dirdefaults tosys_get_temp_dir()$fullPath = falsereturns only the generated filename- returns
falsewhen the remote download fails - throws
InvalidArgumentExceptionfor invalid categories, non HTTP(S) URLs, or unwritable directories
Downloads are written to a temporary .part file first, validated as images, then moved into place.
Categories
Use constants from LoremSpaceProvider instead of hard-coded strings:
LoremSpaceProvider::CATEGORY_MOVIE; LoremSpaceProvider::CATEGORY_GAME; LoremSpaceProvider::CATEGORY_ALBUM; LoremSpaceProvider::CATEGORY_BOOK; LoremSpaceProvider::CATEGORY_FACE; LoremSpaceProvider::CATEGORY_FASHION; LoremSpaceProvider::CATEGORY_AI; LoremSpaceProvider::CATEGORY_DASHBOARD; LoremSpaceProvider::CATEGORY_CRM; LoremSpaceProvider::CATEGORY_FINANCE; LoremSpaceProvider::CATEGORY_CALENDAR; LoremSpaceProvider::CATEGORY_MESSENGER; LoremSpaceProvider::CATEGORY_SHOES; LoremSpaceProvider::CATEGORY_WATCH; LoremSpaceProvider::CATEGORY_FURNITURE; LoremSpaceProvider::CATEGORY_PIZZA; LoremSpaceProvider::CATEGORY_BURGER; LoremSpaceProvider::CATEGORY_DRINK; LoremSpaceProvider::CATEGORY_CAR; LoremSpaceProvider::CATEGORY_HOUSE;
You can also inspect them dynamically:
$categories = LoremSpaceProvider::categories();
Development
composer install composer check
Individual checks:
composer cs
composer analyse
composer test
Security and reliability
The downloader only accepts HTTP(S), follows at most three redirects, verifies TLS when cURL is available, applies a 10 second timeout, caps downloads to 20 MB, and validates that the received file is an image before returning it.
License
MIT
统计信息
- 总下载量: 7
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-01-17