waughj/html-picture

一个简单的类,用于轻松生成图片标签的HTML代码。

v0.7.2 2019-06-04 20:04 UTC

This package is auto-updated.

Last update: 2024-09-05 07:37:00 UTC


README

一个简单的类,用于轻松生成图片标签的HTML代码。

使用

构造函数的参数

  1. 回退图像作为HTMLImage对象。
  2. 来源作为HTMLPictureSource对象的数组。
  3. 图片元素属性的数组。

使用“generate”静态方法生成这些属性更简单,它接受以下参数

  1. 表示基础本地文件名的字符串(不要包含扩展名)。
  2. 表示扩展名的字符串(不要包含“.”)。
  3. 带有可选参数的哈希表
    1. "loader": 文件加载器,帮助设置URL目录,其中第一个参数被视为本地文件,服务器目录用于获取文件的修改日期以破坏缓存损坏。有关如何使用此功能的更多信息,请参阅https://github.com/waughjai/file-loader。可以是哈希表或FileLoader对象。
    2. "img-attributes": 将放入img标签中的HTML属性(这将影响显示的图像)。
    3. "picture-attributes": 将放入包含图片标签的HTML属性。
    4. "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

  • 初始版本