lex142/laravel-url-shortener

Laravel中的强大URL缩短工具

该软件包的规范仓库似乎已丢失,因此该软件包已被冻结。

v0.4.1 2021-08-13 13:25 UTC

This package is auto-updated.

Last update: 2024-04-12 16:40:12 UTC


README

Laravel中的强大URL缩短工具

68747470733a2f2f7472617669732d63692e6f72672f4c65783134322f6c61726176656c2d75726c2d73686f7274656e65722e7376673f6272616e63683d6d6173746572 68747470733a2f2f706f7365722e707567782e6f72672f4c65783134322f6c61726176656c2d75726c2d73686f7274656e65722f646f776e6c6f616473 68747470733a2f2f706f7365722e707567782e6f72672f4c65783134322f6c61726176656c2d75726c2d73686f7274656e65722f76657273696f6e 68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f4c65783134322f6c61726176656c2d75726c2d73686f7274656e65722f6261646765732f636f7665726167652e706e673f623d6d6173746572 68747470733a2f2f706f7365722e707567782e6f72672f4c65783134322f6c61726176656c2d75726c2d73686f7274656e65722f6c6963656e7365

安装

您可以使用以下命令轻松安装此软件包,使用Composer运行:

composer require Lex142/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' => [
   ...
   Lex142\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(...);
    }
}

缩短器公开以下方法

方法 描述
shorten 缩短给定的URL
shortenAsync 异步缩短给定的URL
driver 检索一个驱动程序(例如 tiny_url
extend 注册您自己的驱动程序

更改驱动程序

您可以通过设置环境文件中的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 0.1.0
Firebase Dynamic Links firebase 0.2.0
Is.gd is_gd 0.2.0
Ouo.io ouo_io 0.2.0
Polr polr 0.3.0
Shorte.st shorte_st 0.1.0
TinyURL tiny_url 0.1.0
V.gd is_gd 0.2.0

Bit.ly

网站

此驱动程序在Bit.ly的API上运行,目前仅支持API版本4。该API需要一个访问令牌,目前仅支持通用访问令牌。您可以从Bit.ly个人资料中获取此类令牌。如果您有付费的Bit.ly帐户,您还将能够设置缩短URL的域。

变量 描述
URL_SHORTENER_API_TOKEN 您的Bit.ly API令牌
URL_SHORTENER_PREFIX 您的短URL域名

Firebase Dynamic Links

网站

此驱动程序在Firebase的API上运行。API需要一个访问令牌、URI前缀和后缀。您可以在Firebase控制台中访问这些信息。项目设置下的“Web API密钥”下可以找到可访问的令牌,而前缀可以在动态链接菜单下定义和访问。

后缀可以具有值 SHORTUNGUESSABLE

重要! 通过API创建的链接在Firebase控制台中不可见。它们只能通过Analytics REST API访问。

变量 描述 默认
URL_SHORTENER_API_TOKEN 您的Firebase API令牌
URL_SHORTENER_PREFIX 您的URL前缀
URL_SHORTENER_STRATEGY 路径组件创建方法 UNGUESSABLE

Is.gd / V.gd

网站

此驱动程序支持is.gdv.gd,通过它们各自的API。当启用链接预览时,将使用v.gd,否则将使用is.gd。

变量 描述
URL_SHORTENER_ANALYTICS 启用或禁用统计信息

Ouo.io

网站

此驱动程序使用Ouo.io API,需要访问令牌。该API允许通过广告进行URL货币化,并通过其仪表板提供分析。

变量 描述
URL_SHORTENER_API_TOKEN 您的Ouo.io API令牌

Polr

网站

此驱动程序使用Polr API。该API需要访问令牌和URI前缀。

变量 描述
URL_SHORTENER_API_TOKEN 您的Polr API令牌
URL_SHORTENER_PREFIX 您的URL前缀

Shorte.st

网站

此驱动程序使用Shorte.st API,需要访问令牌。此API支持您的URL货币化,并通过其仪表板提供对您流量的洞察。

变量 描述
URL_SHORTENER_API_TOKEN 您的Shorte.st API令牌

TinyURL

网站

此驱动程序在TinyURL API上运行,无需额外的设置。此驱动程序是包的默认设置。

变更日志

有关最近版本中更改的信息,请参阅变更日志

安全

如果您发现任何安全相关的问题,请通过电子邮件联系作者之一,而不是使用问题跟踪器。您可以在composer.json中找到作者电子邮件。

贡献

有关详细信息,请参阅贡献指南

鸣谢

许可证

MIT许可(MIT)。有关更多信息,请参阅许可文件