elijahcruz/avatar

使用Gravatar等生成用户头像

2.1.7 2023-02-25 17:25 UTC

This package is auto-updated.

Last update: 2024-09-25 21:12:14 UTC


README

通过一个简单易用的类快速轻松地生成头像。

PHP Avatars的创建只有一个非常简单的目标,那就是能够生成头像的URL,而无需记住Gravatar和UI Avatars等头像生成器和提供商提供的选项。

即将推出:我将添加内置的Laravel集成,这将允许您使用外观(Facade)来生成URL。

要求

除了需要PHP、Componser以及您想要添加PHP Avatars的网站之外,没有其他要求。就是这样。

安装

安装很简单,只需在Componser中引入即可。

composer require elijahcruz/avatars

用法

使用PHP Avatars非常简单,尽管它非常简单,但它具有使您能够完成每个提供商通常应该允许您完成的任何操作的强大功能。例如,在Gravatar中设置默认值,或在UI Avatars中设置背景和颜色。

基本示例

use Elijahcruz\Avatars\Avatar;

$avatar = new Avatar('johndoe@example.com')

$avatar->getUrl();

这只需要加载用户的Gravatar。然而,您也可以有选项。而且有多种方法可以做到这一点

// Through initialization
$avatar = new Avatar('johndoe@example.com', 'gravatar', ['default' => 'mp', 'size' => 200]);

// Using the option() method

$avatar->option('size', 200);

// Add multiple using the options() method
$avatar->options(['default' => 'mp', 'size' => 200]);

如您所注意到的,初始化PHP Avatar时,第二个参数是您正在使用的生成器。您也可以通过其方法指定类型

// Using Gravatar
$avatar->gravatar();

// Using UI Avatars
$avatar->uiavatars();

这允许您快速轻松地在不同的头像生成器之间切换。但如果每个生成器都使用不同的选项,或者您想要再次生成URL,但具有不同的尺寸,没问题。任何未在当前使用的生成器中定义的选项都会被忽略。任何已定义的选项都可以被覆盖。

使用这些时,您也可以通过这个添加新的标识符。

// Using Gravatar
$avatar->gravatar('johndoe@example.com');

// Using UI Avatars
$avatar->uiavatars('John Doe');
// Create an option then rewrite it
$avatar->option('size', 200); // Size is 200
$avatar->option('size', 400); // Size is now 400

您也可以使用resetOptions()方法将所有选项重置为空白。

// Reset the options, but maybe redefine them later?
$avatar->resetOptions()

// Reset and change the options
$avatar->resetOptions(['size' => 400]);

但如果您想从使用电子邮件切换到使用人员的姓名,以便UI Avatars显示实际姓名,没问题。只需使用newIdentifier()方法即可;

$avatar->newIdentifier('John Doe');

最棒的是,它们可以被链接!

$avatar->option('size', 200)->option('default' , 'mp')->option('rating', 'pg')->gravatar()->getUrl();

这就是PHP Avatars既简单又强大的原因。

这就是轻松管理用户头像的方法。

Laravel用法

该包现在感谢Laravel的支持。您现在可以使用包含两个惊人方法的外观(Facade)。

use Elijahcruz\Avatar\Facades\Avatar;

Avatar::create('email', 'gravatar', ['size' => 80]);

--- OR ---
use App\Models\User;


$user = User::find(1);
Avatar::createUsingUser($user, 'name', 'uiavatar', ['size' => 80]);

使用外观,您仍然可以使用框架无关版本中包含的现有方法。

Avatar::createUsingUser($user, 'email', 'gravatar')->option('size', 80)->getUrl();

这使得在Laravel中使用它变得非常简单。

如果您比Gravatar更多地使用UI Avatar,或者想更改某些其他设置,您始终可以发布配置文件。

php artisan vendor:publish --provider="Elijahcruz\Avatar\AvatarPackageServiceProvider" --tag="config"

当前支持的提供商

同时,在提供商方面有如此多的选项,我们正在努力使尽可能多的提供商与PHP Avatars一起工作,以提供最佳的包。每个提供商提供的自己的选项都包含在PHP Avatars中,使事情变得非常简单。

Gravatar

标识符类型:电子邮件

选项

UI Avatar

标识符类型:姓名

选项