hcesrl / php-responsive-image-sizes
根据响应式图片的内在宽度和屏幕上的宽度检索正确的尺寸
1.0.3
2021-11-19 15:50 UTC
Requires
- php: >=7.4
- marc-mabe/php-enum: ^4.4
This package is auto-updated.
Last update: 2024-09-19 22:35:23 UTC
README
安装
composer require hcesrl/php-responsive-image-sizes
用法
请参考原始的javascript库文档以获取更多信息:https://github.com/HCESrl/responsive-image-sizes
以下是一个基本示例
<?php
use Hcesrl\PhpResponsiveImageSizes\BaseSizes;
use Hcesrl\PhpResponsiveImageSizes\DeviceType;
use Hcesrl\PhpResponsiveImageSizes\ResponsiveImagesSizes;
require 'vendor/autoload.php';
var_dump(ResponsiveImagesSizes::getResponsiveSizes(DeviceType::All(), new BaseSizes(BaseSizesType::Granular())));
ResponsiveImagesSizes::getResponsiveSizes
函数接受以下参数
- $deviceType 枚举值:基于
marc-mabe/php-enum
库的可用的枚举 DeviceType 值之一; - BaseSizes 类实例:构造函数期望一个基于
marc-mabe/php-enum
库的可用的枚举 BaseSizesType 值。如果您选择BaseSizesType::Custom()
值,则期望第二个参数(见下文); - $sourceImageWidth 整数,默认值为 3220,更多信息请参阅js库文档;
- $widthOnPage 整数,默认值为 100,更多信息请参阅js库文档;
- $topSize 整数,默认值为 1920,更多信息请参阅js库文档;
如果您想使用自定义的 BaseSizes 集合,您应该声明一个符合以下模式的数组,并将其用作第二个 BaseSizes 类构造函数的参数
[
'desktop' => [
-- values --
],
'tabletPortrait => [
-- values --
],
'smartphone' => [
-- values --
]
]
示例
$customSizes = [
DeviceType::Desktop => [
1440,
1280,
1024
],
DeviceType::TabletPortrait => [
1024,
768
],
DeviceType::Smartphone => [
828,
750,
720,
640
]
];
var_dump(ResponsiveImagesSizes::getResponsiveSizes(DeviceType::All(), new BaseSizes(BaseSizesType::Custom(), $customSizes)));
输出示例
(
[0] => 1024
[1] => 1280
[2] => 1440
)