mtr-design/laravel-logo-fetcher

通过公司域名获取公司标志

1.0.3 2017-06-22 08:39 UTC

This package is not auto-updated.

Last update: 2024-09-29 02:41:07 UTC


README

安装

使用composer安装此包

composer require mtr-design/laravel-logo-fetcher

将ServiceProvider添加到config/app.php中的providers数组中

MTRDesign\LaravelLogoFetcher\ServiceProvider::class,

使用publish命令将包配置复制到本地配置

php artisan vendor:publish --provider="MTRDesign\LaravelLogoFetcher\ServiceProvider"

现在你应该有了config/logo_fetcher.php文件。你可以打开并调整配置选项

用法

  1. 从容器中解析 \MTRDesign\LaravelLogoFetcher\LogoFetcher 类
  2. 使用provider()方法设置提供者
  3. 调用fetch()方法获取标志
  4. 你可以使用store()链式调用,以使用默认存储磁盘保存它

如果你想直接保存标志

$logoFetcher = app(\MTRDesign\LaravelLogoFetcher\LogoFetcher::class);
$logoFetcher->provider(Clearbit::class)
    ->fetch($domain)
    ->store();

如果你想只获取标志

$logoFetcher = app(\MTRDesign\LaravelLogoFetcher\LogoFetcher::class);
$logo = $logoFetcher
    ->provider(Clearbit::class)
    ->fetch($domain)
    ->logo;

一个额外的例子来说明domain()辅助函数和path属性,假设你已经注入了logo fetcher类

$path = $this->logoFetcher
    ->provider(Clearbit::class)
    ->domain($domain)
    ->fetch()
    ->store()
    ->path;

提供者

你可以定义自己的提供者 - 只需创建一个类并实现MTRDesign\LaravelLogoFetcher\Providers\ProviderContract

错误处理

如果获取失败,将抛出不同的异常,但它们都继承自 \MTRDesign\LaravelLogoFetcher\Exceptions\LogoFetcherException。它们都具有可读性强的消息,并且可以安全地输出给客户端。你可以在\MTRDesign\LaravelLogoFetcher\Exceptions命名空间中找到所有异常。