stefanbauer / laravel-favicon-extractor
Laravel 的 favicon 提取器
0.10.0
2022-03-24 06:32 UTC
Requires
- php: ^7.0|^8.0
- graham-campbell/guzzle-factory: ^3.0|^4.0
- illuminate/support: ~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.12
- mockery/mockery: ^1.1
- orchestra/testbench: ~3.5.0|~3.6.0
- phpunit/phpunit: ^6.2|^7.0|^8.0|^9.0
README
此包提供了一种方便的方法,通过使用适当的 Google 服务从任何网站提取 favicon。它允许您获取并将其保存到本地存储。
使用方法
使用方法非常简单。您可以通过依赖注入或使用外观类来实现。
- 对于依赖注入版本,类型提示
FaviconExtractorInterface
。 - 对于外观类版本,使用
FaviconExtractor
外观类。
通用
- 如果找不到 favicon,则返回默认的一个。
- favicon 的扩展名始终是
.png
。不需要将其作为文件名的一部分。
仅获取 favicon
$favicon = FaviconExtractor::fromUrl('https://laravel.net.cn')->fetchOnly();
它返回一个实现 FaviconInterface
的实例,您可以使用 $favicon->getContent()
获取 favicon 的原始内容。
获取并下载 favicon
如果您希望将 favicon 保存到本地存储,可以这样做。唯一的要求是定义 favicon 应保存的路径。它相对于您在 config/filesystems.php
中定义的根路径。如果您的路径是 favicons
,则它将被保存到 app/storage/favicons
。
使用随机生成的文件名
FaviconExtractor::fromUrl('https://laravel.net.cn')->fetchAndSaveTo('favicons'); // returns favicons/HIgLtwL0iUdNkwfq.png
使用自定义文件名
FaviconExtractor::fromUrl('https://laravel.net.cn')->fetchAndSaveTo('favicons', 'myFilename'); // returns favicons/myFilename.png
安装
要安装此包,通过 composer 要求。
$ composer require stefanbauer/laravel-favicon-extractor
感谢 Laravel 5.5+ 包自动发现,无需手动添加 ServiceProvider。如果您不使用自动发现,请将 ServiceProvider 添加到 config/app.php
中的 providers 数组。
StefanBauer\LaravelFaviconExtractor\FaviconExtractorServiceProvider::class,
如果您想使用外观,请在 config/app.php
中的 facades 数组中添加此内容。
'FaviconExtractor' => StefanBauer\LaravelFaviconExtractor\Facades\FaviconExtractor::class,
配置
如果您想修改配置,请使用发布命令复制包配置。
php artisan vendor:publish --provider="StefanBauer\LaravelFaviconExtractor\FaviconExtractorServiceProvider" --tag="config"
配置文件只有两个选项可以更改。即 provider_class
和 filename_generator_class
。通常情况下,无需更改,除非您想有不同的实现来获取 favicon 和生成文件名。请确保实现相应的接口。
测试
$ vendor/bin/phpunit
变更日志
请查看 CHANGELOG 了解最近的变化。
贡献
请查看 CONTRIBUTING 获取更多信息。
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 LICENSE。