kikter/avatars

Official Laravel wrapper around avatars.com and LasseRafn/php-initial-avatar-generator

dev-main 2022-10-31 18:14 UTC

This package is auto-updated.

Last update: 2024-10-29 06:31:14 UTC


README

Build Status Coverage Total Downloads Latest Stable Version License

Installation

You just require using composer and you're good to go!

composer require rackbeat/laravel-ui-avatars

The Service Provider is automatically registered.

Setup

To setup the config file, you publish it like so:

php artisan vendor:publish --provider="Rackbeat\UIAvatars\UIAvatarsServiceProvider"

You can edit the file in config/ui-avatars.php.

Usage

1. Add the Rackbeat\UIAvatars\HasAvatar trait to your Model (e.g. App\Users)

// ...
class User extends Authenticatable {
  use \Rackbeat\UIAvatars\HasAvatar;
  // ...
}

2. Create a new method on your Model.

This method is practically a proxy to call the HasAvatar methods. It will return a gravatar from the e-mail, with a fallback to the avatar using ui-avatars.com API.

public function getAvatar( $size = 64 ) {
  return $this->getGravatar( $this->email, $size );
}

NOTICE: Gravatar is only available using the API, not locally generated avatars.

3. (Optional) Re-define the name field

Assuming you're not using the default User Model in Laravel, you can override which field is being used for the name.

public function getAvatarNameKey( ) {
  return 'full_name';
}

Available methods

getInitials($length=null)

Returns the generated initials, from the name, used in the avatar.

Default $length can be defined in config/ui-avatars.php (length key)

getUrlfriendlyAvatar($size=null)

Return a urlfriendly formatted avatar (URL or base64).

Example usage:

<img src="{{ $user->getUrlfriendlyAvatar() }}" />

Default $size can be defined in config/ui-avatars.php (image_size key)

getAvatarBase64($size=null)

Return a base64 representation of the avatar.

Default $size can be defined in config/ui-avatars.php (image_size key)

getAvatarImage($size=null)

Return a Image object of the avatar.

Default $size can be defined in config/ui-avatars.php (image_size key)

getGravatar($email, $size=null)

Return a link to a Gravatar image using the specified email, and a fallback to using our own generator (assuming provider = api)

Default $size can be defined in config/ui-avatars.php (image_size key)

Available options

In the config file you can specify different options.

Requirements

  • PHP >= 7.1