rezkonline / laravel-favicon-extractor
Laravel 的 favicon 提取器
Requires
- php: ^7.0|^8.0
- graham-campbell/guzzle-factory: ^3.0|^4.0|^5.0
- illuminate/support: ~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.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
This package is not auto-updated.
Last update: 2024-09-18 05:24:08 UTC
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 rezkonline/laravel-favicon-extractor
感谢 Laravel 5.5+ 包自动发现,无需手动添加 ServiceProvider。如果您不使用自动发现,请将 ServiceProvider 添加到 config/app.php 中的 providers 数组。
Rezkonline\LaravelFaviconExtractor\FaviconExtractorServiceProvider::class,
如果您想使用外观,请将此添加到您的 facades 数组中的 config/app.php。
'FaviconExtractor' => Rezkonline\LaravelFaviconExtractor\Facades\FaviconExtractor::class,
配置
如果您想修改配置,请使用发布命令来复制包配置。
php artisan vendor:publish --provider="Rezkonline\LaravelFaviconExtractor\FaviconExtractorServiceProvider" --tag="config"
配置文件只有两个选项可以更改。即 provider_class 和 filename_generator_class。通常,您不需要修改它,除非您想有不同的实现方式来获取 favicon 和生成文件名。请注意实现相应的接口。
测试
$ vendor/bin/phpunit
贡献
有关更多信息,请参阅 CONTRIBUTING。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 LICENSE。