codeofdigital / laravel-url-shortener
使用不同驱动程序为您的Laravel项目提供强大的URL缩短工具
Requires
- php: ^7.2|^8.0
- guzzlehttp/guzzle: ^6.2 || ^7.0
- guzzlehttp/promises: ^1.0
- guzzlehttp/psr7: ^1.4
- psr/http-message: ^1.0
Requires (Dev)
- illuminate/routing: ^5.1 || ^6.0 || ^7.0 || ^8.0
- phpunit/phpunit: ^8.2
This package is auto-updated.
Last update: 2024-09-29 06:03:05 UTC
README
使用不同驱动程序为您的Laravel项目提供强大的URL缩短工具
目录
概述
一个Laravel包,用于根据您的需求使用您选择的URL缩短驱动程序来缩短URL。每个驱动程序都将提供不同的功能和功能,请查阅它们的文档和定价以了解不同的使用方式。
安装
要求
该包已开发,以与以下版本和最低要求一起使用
- PHP 7.2或更高版本
- Laravel 6.0或更高版本
安装包
您可以通过最新的Composer安装该包
composer require codeofdigital/laravel-url-shortener
发布配置
然后,您可以使用以下命令发布包的配置文件
php artisan vendor:publish --provider="CodeOfDigital\LaravelUrlShortener\UrlShortenerServiceProvider"
使用
开始创建缩短URL的最快方法是使用以下代码片段。`shorten()`方法将返回一个缩短的URL链接,您可以在系统内部自由使用。
$shortUrl = new UrlShortener(); $shortUrl->shorten('https://example.com');
实例化缩短器
可以通过几种方式从容器中检索URL缩短器
$shortener = app('url.shortener'); // or ... $shortener = url()->shortener();
此包还包含URL缩短器外观,用于实例化类
use CodeOfDigital\LaravelUrlShortener\Facades\UrlShortener; $shortUrl = UrlShortener::shorten('https://example.com');
您还可以使用依赖注入将其中一个控制器的方法注入
use CodeOfDigital\LaravelUrlShortener\UrlShortener; class MyController extends Controller { public function myFunction(UrlShortener $shortener) { $shortener->shorten('https://example.com'); } }
实例化URL缩短器类后,您可以使用方法和缩短URL
// This will set and create the driver instance $shortener->driver('own-driver'); // This will return shortened URL in string $shortener->shorten('https://example.com'); // This will return a promise object which can be used to resolve and retrieve shortened URL later on $shortener->shortenAsync('https://example.com'); // Methods can be called from Laravel URL components url()->shorten('https://example.com'); // Or app('url.shortener')->shorten('https://example.com'); // Methods can be chained as well $shortener->driver('own-driver')->shorten('https://example.com');
URL缩短器提供以下方法供使用
更改驱动程序
您可以通过在环境文件中设置`URL_SHORTENER_DRIVER={driver}`或直接在发布的配置文件中更改配置来更改默认驱动程序。
可用驱动程序
此包中共有8个驱动程序可用。默认情况下,此包将使用`Bit.ly`作为主要驱动程序。以下是驱动程序的列表及其相应的规格
Bit.ly
此包的主要默认驱动程序。它运行在Bit.ly API上,目前使用版本4。要访问此包中的Bit.ly驱动程序,您需要提供OAuth身份验证的`通用访问令牌`,该令牌可以在Bit.ly链接管理仪表板中检索。您还可以解析自己的自定义短URL域名(付费版本)。目前,需要设置2个变量才能使用此驱动程序。
TinyURL
在TinyURL API上运行的驱动程序,目前使用版本2。要访问此包中的TinyURL驱动程序,您需要提供OAuth身份验证的`API令牌`,该令牌可以在TinyURL的账户设置中检索。您还可以解析自己的自定义短URL域名(付费版本)。TinyURL提供了3个免费的自定义URL域名前缀,您可以在其网站上查看。目前,需要设置2个变量才能使用此驱动程序。
Shorte.st
在Shorte.st API上运行的驱动程序,当前使用版本1。要访问本包中的Shorte.st驱动程序,您需要提供一个访问令牌
,您在注册Shorte.st账户后可以获取到。此驱动程序支持货币化,每个被点击的链接都会获得少量现金。目前,使用此驱动程序只需要设置1个变量。
Is.gd
在Is.gd API上运行的驱动程序,当前使用版本1。此API不需要API令牌,因为在发送API请求时不需要进行身份验证。使用此驱动程序只需要设置1个变量。此变量决定在缩短URL链接时是否启用或禁用统计信息。
Cutt.ly
在Cutt.ly API上运行的驱动程序,当前使用版本1。要访问本包中的Cutt.ly驱动程序,您需要提供一个API令牌
,您可以在Cutt.ly仪表板中获取。API令牌将在查询参数中用作身份验证方法。此驱动程序包含分析和统计功能。目前,使用此驱动程序只需要设置1个变量。
Hide.uri
在Hide.uri API上运行的驱动程序,当前使用版本1。此API不需要API令牌,因为在发送API请求时不需要进行身份验证。设置此驱动程序不需要任何变量,您可以直接使用。请检查官方网站,了解API调用是否有任何速率限制。
Firebase链接
在Google Firebase API上运行的驱动程序,当前使用版本1。要访问本包中的Firebase驱动程序,您需要提供一个访问令牌
和一个URI前缀,您可以在Firebase控制台中的Web API令牌
获取。URI前缀可以使用您自己的自定义域名或任何名称,并且必须以.page.link
结尾。后缀可以是SHORT
或UNGUESSABLE
。
Ouo.io
在Ouo.io API上运行的驱动程序,当前使用版本1。要访问本包中的Ouo.io驱动程序,提供Ouo.io账户仪表板中可用的API令牌
。此驱动程序支持货币化,每个被点击的链接都会获得少量现金。
变更日志
请参阅变更日志以获取有关最近版本更改的更多信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件联系作者之一,而不是使用问题跟踪器。您可以在composer.json中找到作者的电子邮件。
致谢
许可
MIT许可证(MIT)。请参阅许可文件以获取更多信息。