laracrafts / laravel-url-shortener
Laravel中的强大URL缩短工具
Requires
- php: ^7.1
- guzzlehttp/guzzle: ^6.2
- guzzlehttp/promises: ^1.0
- guzzlehttp/psr7: ^1.4
- illuminate/support: ^5.1 || ^6.0 || ^7.0
- psr/http-message: ^1.0
Requires (Dev)
- illuminate/routing: ^5.1 || ^6.0 || ^7.0
- phpunit/phpunit: ^7.0
README
Laravel中的强大URL缩短工具
安装
您可以使用Composer轻松安装此包,只需运行以下命令
composer require laracrafts/laravel-url-shortener
要求
此包有以下要求
- PHP 7.1或更高版本
- Laravel 5.1或更高版本
Laravel 5.5+
如果您使用Laravel 5.5或更高版本,那就行了。现在您可以使用此包,请继续到使用部分。
Laravel 5.1-5.4
如果您正在使用较旧的Laravel版本,请将包的服务提供者注册到您的应用程序中。您可以通过将以下行添加到您的config/app.php
文件来实现这一点
'providers' => [ ... LaraCrafts\UrlShortener\UrlShortenerServiceProvider::class, ... ],
使用
可以从容器中通过两种方式检索缩短器
$shortener = app('url.shortener'); // or... $shortener = url()->shortener();
一旦您有了缩短器的一个实例,您就可以缩短您的URL
// This will return your shortened URL as a string $shortener->shorten(...); // This will return a promise which will resolve to your shortened URL $shortener->shortenAsync(...); // You can also call shortening from Laravel's url component directly url()->shorten(...); // or... app('url')->shorten(...); // or even... app('url.shortener')->shorten(...);
此包依赖于Guzzle的promise库进行异步缩短,有关更多信息,请参阅他们的文档
您还可以使用依赖注入将缩短器注入到方法中
class MyController extends Controller { public function myFunction(ShortenerManager $shortener) { $shortener->shorten(...); } }
缩短器公开以下方法
更改驱动程序
您可以通过在环境文件中设置URL_SHORTENER_DRIVER={driver}
或发布配置文件并直接更改它来更改默认驱动程序
添加您自己的驱动程序
类似于Laravel的核心组件,您可以为此包添加自己的驱动程序。您可以通过将以下代码添加到应用程序中的中央位置(最好是服务提供者)来实现。
public function boot(ShortenerManager $shorteners) { $shorteners->extend('my_driver', function ($app, $config) { // Return your driver instance here }); }
一旦您注册了您的驱动程序,就可以像调用其他驱动程序一样调用它。
如果您编写了一个可能对其他人有用的自定义驱动程序(例如公共在线缩短器服务),请考虑通过拉取请求将其添加到包中。
可用驱动程序
以下是可用驱动程序及其各自规范的列表
Bit.ly
此驱动程序在Bit.ly的API上运行,目前仅支持API版本4。API需要访问令牌,目前仅支持通用访问令牌。您可以从您的Bit.ly个人资料中检索此类令牌。如果您有付费的Bit.ly账户,您还可以设置缩短URL的域名。
Firebase动态链接
此驱动程序在Firebase的API上运行。API需要访问令牌、URI前缀和后缀。您可以在Firebase控制台中访问这些信息。项目设置下的“Web API密钥”下可访问令牌,前缀可以在动态链接菜单下定义和访问。
后缀可以是值SHORT
或UNGUESSABLE
。
重要!通过API创建的链接在Firebase控制台中不可见。它们只能通过Analytics REST API访问。
Is.gd / V.gd
此驱动程序支持is.gd和v.gd,通过它们各自的API。当启用链接预览时,将使用v.gd,否则将使用is.gd。
Ouo.io
此驱动程序使用Ouo.io API,需要访问令牌。API允许通过广告进行URL货币化,并通过其仪表板提供分析。
Polr
此驱动程序使用Polr API。API需要访问令牌和URI前缀。
Shorte.st
此驱动程序使用Shorte.st API,需要访问令牌。此API支持对您的URL进行货币化,并可以通过其仪表板提供有关您流量的洞察。
TinyURL
此驱动程序在TinyURL API上运行,无需额外设置。此驱动程序是默认包。
变更日志
有关最近版本中发生的变化的更多信息,请参阅变更日志。
安全
如果您发现任何与安全相关的问题,请通过电子邮件联系作者之一,而不是使用问题跟踪器。您可以在composer.json中找到作者的电子邮件地址。
贡献
有关详细信息,请参阅贡献指南。
致谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。