在 Yii2 中集成短链接服务,您可以使用第三方服务,例如 bit.ly、TinyURL 或 Rebrandly 等。这里以 bit.ly 为例,说明如何集成短链接服务。
首先,您需要注册一个 bit.ly 账户并获取 API 密钥。访问 https://bitly.com/ 并注册一个帐户。登录后,进入您的账户设置,找到 API 密钥(Access Token)。
在 Yii2 项目中创建一个新的控制器,例如 UrlShortenerController
。在命令行中运行以下命令:
php yii generate controller UrlShortener
UrlShortenerController.php
文件,编写一个 action 来处理短链接的生成。例如:<?php
namespace app\controllers;
use Yii;
use yii\web\Controller;
use GuzzleHttp\Client;
class UrlShortenerController extends Controller
{
public function actionCreate()
{
$url = Yii::$app->request->post('url');
if (!$url) {
return $this->asJson(['error' => 'URL is required.']);
}
$client = new Client([
'base_uri' => 'https://api-ssl.bitly.com',
'timeout' => 2.0,
]);
$response = $client->post('/v4/shorten', [
'headers' => [
'Authorization' => 'Bearer ' . Yii::$app->params['bitlyApiKey'],
'Content-Type' => 'application/json',
],
'json' => [
'long_url' => $url,
],
]);
$shortUrl = json_decode($response->getBody(), true)['link'];
return $this->asJson(['shortUrl' => $shortUrl]);
}
}
在这个示例中,我们使用了 GuzzleHttp 客户端库来发送请求到 bit.ly API。请确保在 composer.json
文件中添加 GuzzleHttp 依赖:
{
"require": {
"guzzlehttp/guzzle": "^7.0"
}
}
然后运行 composer update
命令以安装依赖。
config/web.php
文件中添加一个新的路由,以便访问短链接生成器控制器:<?php
$config = [
// ...
'components' => [
// ...
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'url-shortener' => 'url-shortener/create',
// ...
],
],
],
];
return $config;
现在,您可以通过访问 /url-shortener
路径来生成短链接。例如,在浏览器中输入 http://yourdomain.com/url-shortener?url=https://www.example.com
,您将看到生成的短链接。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。