toneflix-code/cuttly-php

Cutt.ly 的 PHP 封装器。

1.0.2 2024-09-05 08:23 UTC

This package is auto-updated.

Last update: 2024-09-06 00:05:41 UTC


README

Test & Lint Latest Stable Version Total Downloads License PHP Version Require codecov

Cutt.ly 是一个集所有功能于一体的链接管理平台。缩短您的链接,跟踪点击,并通过我们的全功能 URL 缩短器提升您的品牌。创建自定义短链接,生成二维码,构建链接生物页面,并通过调查收集反馈。今天就开始优化您的 URL 并看到效果!这个库旨在通过提供一个简单的 PHP 封装器来绕过 Cutt.ly API 实现。

请参阅 Cutt.ly API 文档 以获取详细的 API 使用说明,因为该软件包试图以最佳方式镜像 API。

如果您使用 Laravel,您可能还希望查看 Cuttly Laravel

要求

安装

您可以通过 composer 安装此软件包

composer require toneflix-code/cuttly-php

初始化

要开始使用此库,您需要在 .env 文件中配置 API 密钥,使用以下变量。

CUTTLY_API_KEY=your-cutt.ly-API-key
CUTTLY_TEAM_API_KEY=your-cutt.ly-API-key #[Optional] For users with team subscriptions.

如果您的项目没有 .env 文件,您可以在项目的根目录中创建一个。或者,您可以在初始化库时将 API 密钥作为参数传递。

使用 ENV 文件

use ToneflixCode\CuttlyPhp\Cuttly;

$cutly = new Cuttly();

不使用 ENV 文件

use ToneflixCode\CuttlyPhp\Cuttly;

$cutly = new Cuttly(
    apiKey: '121hksdSome23hRandom19212RegularApiKeyString55',
    teamApiKey: 'hksd092uSome00uRandom101nTeamApiKeyStrings31'
);

初始化错误

如果没有提供 API 密钥,库将抛出 ToneflixCode\CuttlyPhp\Exceptions\InvalidApiKeyException 异常以及任何其他相关操作调用。

常规 API 使用

缩短 URL

要缩短一个 URL,只需调用链接到 Cuttly 实例的 regular() 方法的 shorten(string) 方法,将您要缩短的链接作为唯一参数传递。

use ToneflixCode\CuttlyPhp\Cuttly;

$cutly = new Cuttly();

$link = 'https://toneflix.com.ng/learning';
$data = $cutly->regular()->shorten($link);

shorten() 方法返回一个 ToneflixCode\CuttlyPhp\Builders\ShortenResponse 实例,其中包含 API 返回请求的所有属性。

链式参数

我们花了很长时间确保在库中使用时,您可以首先访问 Cuttly 提供的每个可用功能,以下是可以作为方法链式调用的参数列表,以进一步自定义您的请求。

  • name(string): 您希望使用的短链接 - 别名 - 如果尚未被占用
  • noTitle(): 更快的 API 响应时间 - 此参数禁用从源页面元标签获取页面标题,从而加快 API 响应时间。适用于团队企业计划。
  • public(): 通过 API 设置缩短链接的公共点击统计信息
  • userDomain(): 使用用户账户的域名,该账户已获得批准且状态为“激活”。

示例用法

use ToneflixCode\CuttlyPhp\Cuttly;

$cutly = new Cuttly();

$link = 'https://toneflix.com.ng/learning';
$data = $cutly->regular()->name('toneflix101')->shorten($link);

请注意,shorten() 应仅在链的末尾调用。

编辑短链接

库还允许您编辑您创建的短链接。要编辑链接,只需调用链接到 Cuttly 实例的 regular() 方法的 edit(string) 方法,将您要编辑的短链接作为唯一参数传递。

use ToneflixCode\CuttlyPhp\Cuttly;

$cutly = new Cuttly();

$link = 'https://cutt.ly/toneflix101';
$data = $cutly->regular()->edit($link);

当然,上面的示例实际上什么也没做,会抛出一个 ToneflixCode\CuttlyPhp\Exceptions\FailedRequestException 异常。要实际编辑链接,可以将以下任何方法链到您的调用中,然后就可以使用了。

  • name(string):新的别名/名称,如果尚未被占用。
  • userDomain(): 使用用户账户的域名,该账户已获得批准且状态为“激活”。
  • tag(string):要为缩短链接添加的标签。
  • source(string):更改缩短链接的源URL。
  • unique(0|1|15-1440):为缩短链接设置唯一的统计计数。
  • title():它将更改缩短链接的URL标题。

示例用法

use ToneflixCode\CuttlyPhp\Cuttly;

$cutly = new Cuttly();

$link = 'https://cutt.ly/toneflix101';
$data = $cutly->regular()->name('toneflix404')->userDomain()->unique(1)->edit($link);

edit() 方法返回一个 ToneflixCode\CuttlyPhp\Builders\BaseResponse 实例,该实例包含API请求响应的所有属性,您可以在此处找到更多信息:[Cutt.ly API 文档](https://cutt.ly/api-documentation/regular-api)。

链接分析

为了访问URL统计信息,调用与 Cuttly 实例的 regular() 方法链在一起的 stats(string) 方法,将您打算获取分析的缩短链接作为唯一参数。

use ToneflixCode\CuttlyPhp\Cuttly;

$cutly = new Cuttly();

$link = 'https://cutt.ly/toneflix404';
$data = $cutly->regular()->stats($link);

stats() 方法返回一个 ToneflixCode\CuttlyPhp\Builders\StatsResponse 实例,该实例包含API请求响应的所有属性,您可以在此处找到更多信息:[Cutt.ly API 文档](https://cutt.ly/api-documentation/regular-api)。

删除缩短链接

要删除缩短链接,调用与 Cuttly 实例的 regular() 方法链在一起的 delete(string) 方法,将您打算删除的缩短链接作为唯一参数。

use ToneflixCode\CuttlyPhp\Cuttly;

$cutly = new Cuttly();

$link = 'https://cutt.ly/toneflix404';
$data = $cutly->regular()->delete($link);

delete() 方法返回一个 ToneflixCode\CuttlyPhp\Builders\BaseResponse 实例,该实例包含API请求响应的所有属性,您可以在此处找到更多信息:[Cutt.ly API 文档](https://cutt.ly/api-documentation/regular-api)。

团队API使用

团队API实现了与常规API相同的方法和可链方法,有一些例外,我们将在下面指出。

要使用团队API,而不是在 Cuttly 实例上调用 regular() 方法,我们将调用 team() 方法,您现在可以将我们突出显示的所有方法链起来使用团队API。

缩短链接

use ToneflixCode\CuttlyPhp\Cuttly;

$cutly = new Cuttly();

$link = 'https://toneflix.com.ng/learning';
$data = $cutly->team()->name('toneflix301')->shorten($link);

编辑短链接

use ToneflixCode\CuttlyPhp\Cuttly;

$cutly = new Cuttly();

$link = 'https://cutt.ly/toneflix301';
$data = $cutly->team()->edit($link);

链接分析

use ToneflixCode\CuttlyPhp\Cuttly;

$cutly = new Cuttly();

$link = 'https://cutt.ly/toneflix301';
$data = $cutly->team()->stats($link);

删除缩短链接

use ToneflixCode\CuttlyPhp\Cuttly;

$cutly = new Cuttly();

$link = 'https://cutt.ly/toneflix404';
$data = $cutly->team()->delete($link);

异常

ToneflixCode\CuttlyPhp\Exceptions\InvalidApiKeyException

ToneflixCode\CuttlyPhp\Exceptions\InvalidApiKeyException 异常会在未提供API密钥或提供了无效API密钥时抛出。

ToneflixCode\CuttlyPhp\Exceptions\FailedRequestException

ToneflixCode\CuttlyPhp\Exceptions\FailedRequestException 异常会在Cuttly API返回错误时抛出。

异常处理

当遇到异常时,您可以根据您的用例以最佳方式处理它。

use ToneflixCode\CuttlyPhp\Cuttly;
use ToneflixCode\CuttlyPhp\Exceptions\FailedRequestException;

$cutly = new Cuttly();

try {
  $link = 'https://toneflix.com.ng/learning';
  $data = $cutly->regular()->name('toneflix404')->shorten($link);
} catch (FailedRequestException $th) {
  echo $th->getMessage();
}
use ToneflixCode\CuttlyPhp\Cuttly;
use ToneflixCode\CuttlyPhp\Exceptions\InvalidApiKeyException;
use ToneflixCode\CuttlyPhp\Exceptions\FailedRequestException;

try {
  $cutly = new Cuttly();

  $link = 'https://toneflix.com.ng/learning';
  $data = $cutly->regular()->name('toneflix404')->shorten($link);
} catch (FailedRequestException|InvalidApiKeyException $th) {
  echo $th->getMessage();
}

有关从API中可获取的详细描述,请参阅Cutt.ly 文档

测试

composer test

变更日志

请参阅CHANGELOG 了解最近有哪些更改。

贡献

请参阅CONTRIBUTING 了解详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件code@toneflix.com.ng联系,而不是使用问题跟踪器。

鸣谢

许可

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