是时候来一发炸裂的开场了
在人家都在撩妹的假期, 和我家狗子在家撸了个轮子. 主要还是学习学习扩展包和设计模式.
在此特别要感谢超哥了, 使用 Laravel 大半年超哥和Summer是我主要的学习对象.
@超哥 不要惊讶, 此轮子大部分参考了 easy-sms 不要见怪.
@all 走过路过, 说不定什么时候就用到了 star 一下哈.
/achais/shorturl
ShortUrl
一键生成和还原短链接的 PHP 扩展包,我们支持多平台了哦!
特点
支持目前市面多家服务商
一套写法兼容所有平台
简单配置即可灵活增减服务商
内置多种服务商轮询策略、支持自定义轮询策略
统一的返回值格式,便于日志与监控
自动轮询选择可用的服务商
更多等你去发现与改进...
平台支持
环境要求
PHP >= 5.6
安装
$ composer require achais/shorturl -vvv
使用
use Achais\ShortUrl\ShortUrl;
$config = [
// HTTP 请求的超时时间(秒)
'timeout' => 5.0,
// 默认使用配置
'default' => [
// 网关调用策略,默认:顺序调用
'strategy' => \Achais\ShortUrl\Strategies\OrderStrategy::class,
// 默认可用的发送网关
'gateways' => [
'baidu',
],
],
// 可用的网关配置
'gateways' => [
'baidu' => [
'token' => '44712d2fdaaa48d0a717866e9a******',
],
'weibo' => [
'source' => '1771******',
],
//...
],
];
$shortUrl = new ShortUrl($config);
// 长链接 -> 短链接
$long_url = '';
$result = $shortUrl->shorten($long_url);
print_r($result);
// 短链接 -> 长链接
$short_url = '/ZzVmHQZa';
$result = $shortUrl->expand($short_url);
var_dump($result);
各平台配置说明
'baidu' => [
'token' => ''
],
'weibo' => [
'source' => ''
],
参考
特别鸣谢
License
MIT