一键生成和还原短链接的 PHP 扩展包,现已支持百度短链、微博短链

是时候来一发炸裂的开场了

在人家都在撩妹的假期, 和我家狗子在家撸了个轮子. 主要还是学习学习扩展包和设计模式.
在此特别要感谢超哥了, 使用 Laravel 大半年超哥和Summer是我主要的学习对象.
@超哥 不要惊讶, 此轮子大部分参考了 easy-sms 不要见怪.
@all 走过路过, 说不定什么时候就用到了 star 一下哈.
https://github.com/achais/shorturl


ShortUrl

一键生成和还原短链接的 PHP 扩展包,我们支持多平台了哦!

特点

  1. 支持目前市面多家服务商
  2. 一套写法兼容所有平台
  3. 简单配置即可灵活增减服务商
  4. 内置多种服务商轮询策略、支持自定义轮询策略
  5. 统一的返回值格式,便于日志与监控
  6. 自动轮询选择可用的服务商
  7. 更多等你去发现与改进...

平台支持

环境要求

  • 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 = 'https://www.achais.com';
$result = $shortUrl->shorten($long_url);
print_r($result);

// 短链接 -> 长链接
$short_url = 'https://dwz.cn/ZzVmHQZa';
$result = $shortUrl->expand($short_url);
var_dump($result);

各平台配置说明

百度 短链

'baidu' => [
    'token' => ''
],

微博 短链

'weibo' => [
    'source' => ''
],

参考

特别鸣谢

License

MIT

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!