creativeorange / gravatar
A Laravel Gravatar package for retrieving gravatar image URLs or checking the existance of an image.
Installs: 5 913 923
Dependents: 64
Suggesters: 0
Security: 0
Stars: 530
Watchers: 12
Forks: 58
Open Issues: 5
Requires
- php: >=5.4.0
- illuminate/support: ^5|^6|^7|^8|^9|^10.0|^11.0
Requires (Dev)
- php: >=7.2
- nunomaduro/larastan: ^0.6.2|^2.4
- orchestra/testbench: ^5.4|^8.0|^9.0
README
Installation
First, pull in the package through Composer via the command line:
composer require creativeorange/gravatar ~1.0
or add the following to your composer.json file and run composer update
.
"require": { "creativeorange/gravatar": "~1.0" }
Then include the service provider within (Laravel 5.3 or below) app/config/app.php
.
'providers' => [ 'Creativeorange\Gravatar\GravatarServiceProvider' ];
If using Laravel 5.4, include service provider withing config/app.php
'providers' => [ Creativeorange\Gravatar\GravatarServiceProvider::class ];
If you want to use the facade, add this to de bottom of app/config/app.php
And, for convenience, add a facade alias to this same file at the bottom:
'aliases' => [ 'Gravatar' => 'Creativeorange\Gravatar\Facades\Gravatar', ];
If you are using Laravel 5.4 or greater, add as follows, add to config/app.php
'aliases' => [ 'Gravatar' => Creativeorange\Gravatar\Facades\Gravatar::class, ];
Finally, publish the config by running the php artisan vendor:publish
command
Usage
Within your controllers or views, you can use
Gravatar::get('email@example.com');
this will return the URL to the gravatar image of the specified email address.
In case of a non-existing gravatar, it will return return a URL to a placeholder image.
You can set the type of the placeholder in the configuration option fallback
.
For more information, visit gravatar.com
Alternatively, you can check for the existence of a gravatar image by using
Gravatar::exists('email@example.com');
This will return a boolean (true
or false
).
Or you can pass a url to a custom image using the fallback method:
Gravatar::fallback('http://urlto.example.com/avatar.jpg')->get('email@example.com');
Configuration
You can create different configuration groups to use within your application and pass the group name as a second parameter to the get
-method:
There is a default group in config/gravatar.php
which will be used when you do not specify a second parameter.
If you would like to add more groups, feel free to edit the config/gravatar.php
file. For example:
return array( 'default' => array( 'size' => 80, 'fallback' => 'mm', 'secure' => false, 'maximumRating' => 'g', 'forceDefault' => false, 'forceExtension' => 'jpg', ), 'small-secure' => array ( 'size' => 30, 'secure' => true, ), 'medium' => array ( 'size' => 150, ) );
then you can use the following syntax:
Gravatar::get('email@example.com', 'small-secure'); // will use the small-secure group Gravatar::get('email@example.com', 'medium'); // will use the medium group Gravatar::get('email@example.com', 'default'); // will use the default group Gravatar::get('email@example.com'); // will use the default group
Alternatively, you could also pass an array directly as the second parameter as inline options. So, instead of passing a configuration key, you pass an array, which will be merged with the default group:
Gravatar::get('email@example.com', ['size'=>200]);