steevedroz/ci4-slug
Composer 安装命令:
composer require steevedroz/ci4-slug
包简介
Helps creating slugs more easily
关键字:
README 文档
README
Have you ever wanted an easy way to set up pretty URLs with CodeIgniter? This library is made for you!
SteeveDroz\CiSlug\Slugify allows you to calculate what URL-compatible name fits with a given title or name.
Install
To install this library, type composer require steevedroz/ci4-slug from your CodeIgniter project.
Usage
Basic usage
Slugify is intended to be used from a Model as it requires one. Here is an example of the default usage:
<?php
namespace App\Models;
use CodeIgniter\Model;
use SteeveDroz\CiSlug\Slugify;
class PageModel extends Model
{
protected $table = 'pages';
protected $allowedFields = ['title', 'content'];
protected $beforeInsert = ['setSlug'];
public function setSlug($data)
{
$slugify = new Slugify($this);
$data = $slugify->addSlug($data, 'title');
return $data;
}
}
This code will look for the title value of the incomming data and calculate the corresponding slug. If a database entry already has that given slug, it will increment the slug with a -N suffix. For instance: hello-world becomes hello-world-2, which becomes hello-world-3, and so on until a free slug is found.
Configuration
If you use a slug field that is not called slug, you can call $slugify->setField('your_slug_field_name') to change the default behaviour.
If you need to strip the diacritics (for instance, the title Best Crème Brûlée recipe should have the slug best-creme-brulee-recipe), add a second parameter to the constructor and set it to true.
Class reference
SteeveDroz\CiSlug\Slugify
__construct
Parameters
$model(CodeIgniter\Model) The model that will consult the database for existing slugs.$stripDiacritics(bool)trueif you need to strip the diacritics but keep the letters.falseif you want to keep the diacritics.
Creates an instance of the slug generator.
setField
Parameters
$field(string) The name of the database field that contains the slugs. By default, that name isslugbut can be overridden.
Returns void
addSlug
Parameters
$data(array) The data passed by a Model event (usually BeforeInsert and BeforeUpdate).$nameField(string) The field to use as a source to generate the slug.
Returns array: the same $data as passed in parameter, with an added slug field.
steevedroz/ci4-slug 适用场景与选型建议
steevedroz/ci4-slug 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.17k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2019 年 10 月 30 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「codeigniter」 「slug」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 steevedroz/ci4-slug 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 steevedroz/ci4-slug 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 steevedroz/ci4-slug 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
TitleWithSlugInput - Easy Permalink Slugs for the FilamentPHP Form Builder (PHP / Laravel / Livewire)
Adds slugify twig extensions to your craft install.
The CodeIgniter Redis package
A library to extend Object capabilities.
A Laravel Filament Forms slug field.
统计信息
- 总下载量: 2.17k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 13
- 依赖项目数: 0
- 推荐数: 1
其他信息
- 授权协议: MIT
- 更新时间: 2019-10-30