hatchetaustralia / laravel-url-shortener
Laravel中强大的URL缩短工具
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.0.1
- guzzlehttp/promises: ^1.0
- guzzlehttp/psr7: ^2.1.0
- illuminate/support: ^9.0
- psr/http-message: ^1.0
Requires (Dev)
- illuminate/routing: ^9.0
- phpunit/phpunit: ^9.0
README
Laravel中强大的URL缩短工具
安装
您可以通过运行以下命令使用Composer轻松安装此包:
composer require hatchetaustralia/laravel-url-shortener
要求
此包有以下要求:
- PHP 7.1 或更高版本
- Laravel 5.1 或更高版本
Laravel 5.5+
如果您使用的是Laravel 5.5或更高版本,那么就足够了。您现在可以使用此包,请继续阅读使用部分。
Laravel 5.1-5.4
如果您使用的是较旧的Laravel版本,请将包的service provider注册到您的应用程序中。您可以通过将以下行添加到您的config/app.php
文件中来实现这一点:
'providers' => [ ... Hatchet\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的核心组件类似,您可以为此包添加自己的驱动程序。您可以通过将以下代码添加到应用程序中的中央位置(最好是一个service provider)来实现这一点。
public function boot(ShortenerManager $shorteners) { $shorteners->extend('my_driver', function ($app, $config) { // Return your driver instance here }); }
一旦您注册了您的驱动程序,就可以像调用其他驱动程序一样调用它。
如果您编写了一个其他人可能也会发现有用的自定义驱动程序(例如公共在线缩短服务),请考虑通过pull request将其添加到包中。
可用驱动
以下是可用驱动程序及其各自规格的列表
Bit.ly
此驱动程序在Bit.ly的API上运行,目前仅支持API版本4。API需要访问令牌,并且目前仅支持通用访问令牌。您可以从您的Bit.ly个人资料中检索此类令牌。如果您拥有付费的Bit.ly账户,您还可以为您的缩短URL设置域名。
Firebase 动态链接
此驱动程序在Firebase的API上运行。API需要访问令牌、URI前缀和后缀。您可以在Firebase控制台中访问这些信息。项目设置下的“Web API Key”下可访问令牌,前缀可以在动态链接菜单下定义和访问。
后缀可以是SHORT
或UNGUESSABLE
的值。
重要!通过API创建的链接在Firebase控制台中不可见。它们只能通过Analytics REST API访问。
Is.gd / V.gd
此驱动程序通过各自的API支持is.gd和v.gd。当启用链接预览时,将使用v.gd,否则将使用is.gd。
Ouo.io
此驱动程序使用 Ouo.io API,并需要访问令牌。该 API 通过广告实现 URL 营销,并通过仪表板提供分析。
Polr
此驱动程序使用 Polr API。该 API 需要访问令牌和 URI 前缀。
Shorte.st
此驱动程序使用 Shorte.st API,该 API 需要访问令牌。此 API 支持对您的 URL 进行货币化,并通过仪表板为您提供对流量洞察。
TinyURL
此驱动程序在 TinyURL API 上运行,无需额外设置。此驱动程序是默认包。
变更日志
有关最近版本中更改的信息,请参阅 变更日志。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件联系作者之一,而不是使用问题跟踪器。您可以在 composer.json 中找到作者电子邮件。
贡献
有关详细信息,请参阅 贡献指南。
致谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。