2017 © Pedro Peláez
 

library share

Share links with Laravel 5

image

chencha/share

Share links with Laravel 5

  • Wednesday, January 25, 2017
  • by jchencha
  • Repository
  • 13 Watchers
  • 128 Stars
  • 72,220 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 40 Forks
  • 4 Open issues
  • 6 Versions
  • 13 % Grown

The README.md

Share

Share links with Laravel, (*1)

This is a fork of John's share for Laravel 4., (*2)

Services available

  • Blogger : blogger
  • Digg : digg
  • Email : email
  • Evernote : evernote
  • Facebook : facebook
  • Gmail : gmail
  • LinkedIn : linkedin
  • Pinterest : pinterest
  • Reddit : reddit
  • Scoop.it : scoopit
  • Telegram.me : telegramMe
  • Tumblr : tumblr
  • Twitter : twitter
  • vk.com : vk

Installation

Install Composer dependency into your project, (*3)

composer require chencha/share

Usage

Get a link (example with Twitter), (*4)

Route::get('/', function()
{
    return Share::load('http://www.example.com', 'My example')->twitter();
});

Returns a string :, (*5)

https://twitter.com/intent/tweet?url=http%3A%2F%2Fwww.example.com&text=Link+description

Get many links, (*6)

Route::get('/', function()
{
    return Share::load('http://www.example.com', 'Link description')->services('facebook', 'twitter');
});

Returns an array :, (*7)

{
    "twitter" : "https://twitter.com/intent/tweet?url=http%3A%2F%2Fwww.example.com&text=Link+description",
    "facebook" : "https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.example.com&title=Link+description"
}

Get ALL the links, (*8)

Route::get('/', function()
{
    return Share::load('http://www.example.com', 'Link description')->services();
});

Returns an array of results for all defined services., (*9)

Customization

Publish the package config:, (*10)

php artisan vendor:publish --provider='Chencha\Share\ShareServiceProvider'

Add a new service in config/social-share.php:, (*11)

'mynewservice' => [ 'view' => 'share.mynewservice' ]

Add Blade templating code in share.mynewservice view file to generate a URL for mynewservice. You have access to:, (*12)

  • service - the service definition (shown above).
  • sep - separator used between parameters, defaults to '&'. Configurable as social-share.separator.
  • url - the URL being shared.
  • title - the title being shared.
  • media - media link being shared.

Example:, (*13)

https://mynewservice.example.com?url={{ rawurlencode($url) }}<?php echo $sep; ?>title={{ rawurlencode("Check this out! $title. See it here: $url") }}

Another example for the email service. Change the service config to be [ 'view' => 'whatever' ] and put this in the view file:, (*14)

mailto:?subject={{ rawurlencode("Wow, check this: $title") }}<?php echo $sep; ?>body={{ rawurlencode("Check this out! $title. See it here: $url") }}

Localizing? Easy, use Laravel's trans() call:, (*15)

mailto:?subject={{ rawurlencode(trans('share.email-subject', compact('url', 'title', 'media'))) }}<?php echo $sep ?>body={{ rawurlencode(trans('share.email-body', compact('url', 'title', 'media'))) }}

Create a file at resources/lang/en/share.php with your choice of subject and body. URLs arguably have a maximum length of 2000 characters., (*16)

Notice the use of . It's the only way to print out an unencoded ampersand (if configured that way)., (*17)

Upgrades

When the package is upgraded, changes to the config and views should be republished into your project:, (*18)

php artisan vendor:publish --provider='Chencha\Share\ShareServiceProvider'

Use source control to work out what has changed if you have customized the files., (*19)

The Versions

25/01 2017

dev-master

9999999-dev

Share links with Laravel 5

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar thujohn
by chencha
by Avatar datashaman

laravel laravel5 share

24/03 2016

5.2.1

5.2.1.0

Share links with Laravel 5

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar thujohn
by chencha
by Avatar datashaman

laravel laravel5 share

08/03 2016

5.2.0

5.2.0.0

Share links with Laravel 5

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar thujohn
by chencha
by Avatar datashaman

laravel laravel5 share

07/03 2016

5.1.0

5.1.0.0

Share links with Laravel 5

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar thujohn
by chencha
by Avatar datashaman

laravel laravel5 share

22/02 2015

5.0.1

5.0.1.0

Share links with Laravel 5

  Sources   Download

MIT

The Requires

 

by Avatar thujohn
by chencha

laravel laravel5 share

17/02 2015

5

5.0.0.0

Share links with Laravel 5

  Sources   Download

MIT

The Requires

 

by Avatar thujohn
by chencha

laravel laravel5 share