承接 anton-strui-general-soft/chencha-share 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

anton-strui-general-soft/chencha-share

Composer 安装命令:

composer require anton-strui-general-soft/chencha-share

包简介

Share links with Laravel

README 文档

README

Share links with Laravel

This is a fork of John's share for Laravel 4.

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

composer require chencha/share

Usage

Get a link (example with Twitter)

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

Returns a string :

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

Get many links

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

Returns an array :

{
    "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

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

Returns an array of results for all defined services.

Customization

Publish the package config:

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

Add a new service in config/social-share.php:

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

Add Blade templating code in share.mynewservice view file to generate a URL for mynewservice. You have access to:

  • 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:

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:

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:

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.

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

Upgrades

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

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

Use source control to work out what has changed if you have customized the files.

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 68
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-10-01