viewflex/tiny

在 Laravel 应用程序中提供缩短 URL 的生成和服务的功能。

1.0 2018-06-11 12:24 UTC

This package is auto-updated.

Last update: 2024-09-17 10:02:00 UTC


README

GitHub license

在 Laravel 应用程序中提供缩短 URL 的生成和服务的功能。

概述

基本步骤

  • 将此包安装到您的 Laravel 应用程序中。
  • 运行数据库迁移以创建存储 URL 的表。
  • 通过 Web UI 手动添加 URL,或通过 TinyService 类程序化地添加。

架构

所有与数据库的交互都由实现 TinyQueryInterface 的仓库类处理(默认为 TinyQuery 类)。具体的查询类通过包配置绑定,因此可以轻松创建和部署用于替代数据源(NoSQL、键值存储等)的新查询类,而无需修改包本身。

安装

从 Laravel 应用程序的根目录安装

composer require viewflex/tiny

TinyServiceProvider 添加到 config/app.php 中的提供者列表中。 注意:当使用 Laravel 5.5 或更高版本且启用了包发现时,此步骤不是必需的。

Viewflex\Tiny\TinyServiceProvider::class,

迁移

Laravel 5.4 或更高版本可以直接从包中运行迁移。

php artisan migrate

对于旧版本的 Laravel,首先发布迁移。

php artisan vendor:publish  --tag='tiny-data'

配置

tiny.php 配置文件包含包设置。

'caching'       => [
	'active'        =>  true,
	'minutes'       =>  1440
],

'query'         => '\Viewflex\Tiny\Queries\TinyQuery',

'tables'        => [
	'urls'          => 'tiny_urls'
]

如果您需要自定义配置,请运行此命令以将配置文件发布到项目的 config 目录

php artisan vendor:publish  --tag='tiny'

这还将发布 UI 视图模板到您的项目的 resources/views/vendor/tiny 目录。除非您需要自定义这些文件中的任何一个,否则通常不需要发布它们。

缓存

默认情况下,URL 查找被缓存,这大大提高了性能。您可以选择禁用此功能或更改缓存寿命以满足您的需求。

查询

这是与数据源交互的仓库类。任何实现 TinyQueryInterface 的类都可以在需要时替换默认类。

这里表名被别名化,以便可以使用您想要的任何表名,而无需修改包。

使用

添加 URL

TinyController 提供了添加 URL 的 UI。只需输入一个 URL 并点击保存按钮。URL 将与其别名一起在结果消息中显示。使用路由 <mydomain>/tiny/create 可以从 Web 浏览器访问 UI。将 TinyService 类集成到您的代码中也很容易,以便程序化地生成和存储 URL。

服务 URL

一旦存储,就可以通过包路由 <mydomain>/tiny/{hash} 访问 URL。当然,如果需要,您也可以创建一个额外的路由来调用相同的控制器方法。

测试

测试可以像在 测试文档 中描述的那样运行。

许可

此软件在 MIT 许可证 下提供使用。