定制 hyperlink/laravel-sluggable 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hyperlink/laravel-sluggable

Composer 安装命令:

composer require hyperlink/laravel-sluggable

包简介

Create permanent seo friendly slugs for every model

README 文档

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Create permanent seo friendly slugs for every model

Installation

You can install the package via composer:

composer require hyperlink/laravel-sluggable

You can publish and run the migrations with:

php artisan vendor:publish --tag="laravel-sluggable-migrations"
php artisan migrate

You can publish the config file with:

php artisan vendor:publish --tag="laravel-sluggable-config"

This is the contents of the published config file:

return [
    /*
     * The name of the table that will store the slugs.
     */
    'table' => 'slugs',

    /*
     * The name of the column that will store the slug.
     */
    'column' => 'slug',

    /*
     * The separator used to separate words in the slug.
     * ATTENTION: If you change this value
     * no existing slugs will be changed.
     */
    'separator' => '-',

    /*
     * The separator used to separate the slug from the counter.
     * If the slug already exists, a counter will be added.
     * ATTENTION: If you change this value
     * no existing slugs will be changed.
     */
    'counter_separator' => '_',

    /*
     * The max length of the slug excluding the counter.
     * ATTENTION: If you change this value to above 255
     * you must also publish the migration and
     * change column type in the database.
     */
    'max_length' => 255,

    /*
     * The model that will be used to generate the slug.
     * You can use your own model by extending the provided model.
     */
    'model' => Hyperlink\Sluggable\Models\Slug::class,
];

Usage

class Post extends Model
{
    use Sluggable; // Add this trait to your model

    // The column that will be used to generate the slug
    protected string $slugCreatedFrom = 'title';
}

The trait will register an observer that will generate the slug when the model is created or updated.

    public static function bootSluggable(): void
    {
        // ...
        static::created(/* ... */);

        static::updated(/* ... */);
        // ...
    }

You can overwrite it with

protected function makeSlug(): string
{
    return (string) sluggable($this->{$this->getSlugCreatedFrom()});
}

Testing

composer test

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-02-28

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固