viewflex / tiny
在 Laravel 应用程序中提供缩短 URL 的生成和服务的功能。
Requires
- laravel/framework: ~5.2
This package is auto-updated.
Last update: 2024-09-17 10:02:00 UTC
README
在 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 许可证 下提供使用。