mirko-pagliai/cakephp-thumber

CakePHP 的缩略图插件

1.12.0 2024-01-05 11:03 UTC

README

Software License CI codecov Codacy Badge CodeFactor

cakephp-thumber 是一个用于创建缩略图的 CakePHP 插件。

它使用 intervention/image 并提供

  • ThumbCreator,一个用于创建缩略图的实用工具;
  • ThumbHelper,一个方便的助手,允许您从模板中动态创建缩略图。

1.8.0 版本开始,大部分代码已移至 php-thumber 包中,使其成为一个独立于 CakePHP 的 PHP 库。此插件继续存在,所有类和方法保持不变,但它仅包含与 CakePHP 密切相关的代码(命令、助手、中间件等)。命名空间前缀现在为 Thumber\Cake,不再是 Thumber

你喜欢这个插件吗?它的开发需要我花费大量时间。请考虑捐赠的可能性:捐款:一杯咖啡就足够了!谢谢。

Make a donation

要求和支持的格式

cakephp-thumber 需要 GD 库 (>=2.0) 或 Imagick PHP 扩展 (>=6.5.7)。使用 Imagick 是强烈推荐的,因为它提供更好的性能和更多支持的格式。

支持的格式可能因使用的库而异。

有关支持的格式的更多信息,请参阅 Intervention Image 文档

安装

您可以通过 composer 安装此插件

$ composer require --prefer-dist mirko-pagliai/cakephp-thumber

然后您需要加载插件。有关如何加载插件的信息,请参阅 食谱

简单来说,您可以执行 shell 命令以启用插件

bin/cake plugin load Thumber/Cake

这将更新您的应用程序的引导方法。

默认情况下,插件使用 APP/tmp/thumbs 目录来保存缩略图。因此,您必须创建该目录并使其可写

$ mkdir tmp/thumbs && chmod 775 tmp/thumbs

如果您想使用不同的目录,请阅读 配置 部分。

旧版 CakePHP 和 PHP 版本的安装

最新的包和 master 分支至少需要 CakePHP 5.0 和 PHP 8.1,当前代码的开发基于这些版本以及 CakePHP 和 PHP 的后续版本。然而,还有一些分支与之前的 CakePHP 和 PHP 版本兼容。

对于 PHP 8.0 和 CakePHP 4 或更高版本

cakephp4 分支至少需要 PHP >=7.4 和 CakePHP ^4.4

在这种情况下,您也可以安装该包

$ composer require --prefer-dist mirko-pagliai/cakephp-thumber:dev-cakephp4

请注意,cakephp4 分支将从 2024 年 1 月 5 日起不再更新,除非是安全补丁,并且它与 1.11.3 版本兼容。

对于 PHP 7.2 或更高版本

php7.2 分支至少需要 PHP 7.2。

在这种情况下,您也可以安装该包

$ composer require --prefer-dist mirko-pagliai/cakephp-thumber:dev-php7.2

请注意,从2022年4月29日起,php7.2分支将不再更新,除非是安全补丁,并且它与1.9.9版本匹配。

对于 PHP 5.6 和 CakePHP 3 或更高版本

cakephp3分支至少需要PHP 5.6和CakePHP 3。

在这种情况下,您也可以安装该包

$ composer require --prefer-dist mirko-pagliai/cakephp-thumber:dev-cakephp3

请注意,从2021年5月7日起,cakephp3分支将不再更新,除非是安全补丁,并且它与1.9.4版本匹配。

配置

该插件使用一些配置参数,您可以使用\Cake\Core\Configure类在加载插件之前设置它们。

例如,您可以在应用程序文件APP/config/app.php的底部这样做。

配置值

Configure::write('Thumber.driver', 'imagick');

设置Thumber.driver,您可以选择用于创建缩略图的驱动程序。有效值是imagickgd

Configure::write('Thumber.target', TMP . 'thumbs');

设置Thumber.target,您可以使用另一个目录来保存插件生成的缩略图。

如何使用

参阅我们的维基百科

并参考我们的API

测试

要测试的库(GDImagick)由tests/bootstrap.php文件中的THUMBER_DRIVER环境变量设置。默认情况下,使用Imagick

例如

if (!getenv('THUMBER_DRIVER')) {
    putenv('THUMBER_DRIVER=imagick');
}

Configure::write('Thumber.driver', getenv('THUMBER_DRIVER'));

此外,一些测试属于imageEquals组。这些测试生成缩略图并将它们与预加载的缩略图(在tests/comparing_files/内)进行比较。默认情况下,这些测试不执行,因为如果从不同的环境和系统中生成,图像可能会有所不同。

要排除这些测试,应运行

vendor/bin/phpunit --exclude-group imageEquals

版本控制

为了透明度和对发布周期的洞察,以及保持向后兼容性,Thumber将在语义版本控制指南下维护。