waughj / html-picture
一个简单的类,用于轻松生成图片标签的HTML代码。
v0.7.2
2019-06-04 20:04 UTC
Requires
- php: >=7.0
- waughj/file-loader: >=0.5.4
- waughj/html-attribute-list: *
- waughj/html-image: >=0.9.2
- waughj/verified-arguments-same-type: *
Requires (Dev)
README
一个简单的类,用于轻松生成图片标签的HTML代码。
使用
构造函数的参数
- 回退图像作为HTMLImage对象。
- 来源作为HTMLPictureSource对象的数组。
- 图片元素属性的数组。
使用“generate”静态方法生成这些属性更简单,它接受以下参数
- 表示基础本地文件名的字符串(不要包含扩展名)。
- 表示扩展名的字符串(不要包含“.”)。
- 带有可选参数的哈希表
- "loader": 文件加载器,帮助设置URL目录,其中第一个参数被视为本地文件,服务器目录用于获取文件的修改日期以破坏缓存损坏。有关如何使用此功能的更多信息,请参阅https://github.com/waughjai/file-loader。可以是哈希表或FileLoader对象。
- "img-attributes": 将放入img标签中的HTML属性(这将影响显示的图像)。
- "picture-attributes": 将放入包含图片标签的HTML属性。
- "source-attributes": 将放入每个source标签的HTML属性。你可能不需要这个。不要使用ID,因为它将创建多个ID,这是无效的。
示例
use WaughJ\HTMLPicture\HTMLPicture;
echo HTMLPicture::generate
(
'photo',
'jpg',
'480w 320h, 800w 600h, 1200w 800h',
[
'loader' =>
[
'directory-url' => 'https://mywebsite.com',
'directory-server' => getcwd(),
'shared-directory' => 'tests'
],
'img-attributes' => [ 'class' => 'center-img' ],
'picture-attributes' => [ 'id' => 'slider-42' ],
'source-attributes' => [ 'class' => 'source-item' ]
]
);
将打印(“?m=”后面的数字会变化)
<picture id="slider-42"><source class="source-item" srcset="https://mywebsite.com/tests/photo-480x320.jpg?m=1543530332" media="(max-width:480px)"><source class="source-item" srcset="https://mywebsite.com/tests/photo-800x600.jpg?m=1543530717" media="(max-width:800px)"><source class="source-item" srcset="https://mywebsite.com/tests/photo-1200x800.jpg?m=1543530725"><img src="https://mywebsite.com/tests/photo-480x320.jpg?m=1543530332" class="center-img" alt="" /></picture>
错误处理
PictureHTML默认在每个URL中添加版本号,当使用静态generate方法时(而不是常规构造函数,它不会设置任何URL)可能会抛出WaughJ\FileLoader\MissingFileException异常。此异常包含一个回退版本的PictureHTML,相当于关闭了“show_version”的版本。
示例
$picture = null;
try
{
$picture = HTMLPicture::generate
(
'iainthere',
'jpg',
[
[ 'w' => 480, 'h' => '320' ],
[ 'w' => 800, 'h' => 600 ],
[ 'w' => '1200', 'h' => 800 ]
],
[
'loader' => [ 'directory-url' => 'https://mywebsite.com', 'directory-server' => getcwd(), 'shared-directory' => 'tests' ]
]
);
}
catch ( MissingFileException $e )
{
$picture = $e->getFallbackContent();
}
变更日志
0.7.0
- 添加缓存的HTML以加快多次使用同一对象的速度
0.6.0
- 改进缺失文件的错误处理
0.5.0
- 添加轻松取消显示版本的能力
0.4.0
- 添加getSources和getPictureAttributes方法
0.3.0
- 将构造函数更改为接受HTMLImage和HTMLPictureSource数组
0.2.0
- 添加getFallbackImage和changeFallbackImage方法
0.1.0
- 初始版本