zymawy / arabify
:closed_lock_with_key: 用于处理阿拉伯语语言的包装Sluggable Traits
v1.3.2
2019-02-13 06:05 UTC
Requires
- php: >=5.6.4
- illuminate/support: 5.6.*|5.7.*|5.8.*
- dev-master
- v1.3.2
- v1.3
- v1.0
- dev-dependabot/composer/illuminate/support-tw-11.23.4
- dev-dependabot/composer/illuminate/support-tw-11.23.2
- dev-dependabot/composer/illuminate/support-tw-11.22.0
- dev-restyled/dependabot/composer/illuminate/support-tw-8.18.1
- dev-dependabot/composer/illuminate/support-tw-8.18.1
- dev-restyled/dependabot/composer/illuminate/support-tw-8.17.2
- dev-restyled/dependabot/composer/illuminate/support-tw-8.17.0
- dev-restyled/dependabot/composer/illuminate/support-tw-8.16.1
- dev-restyled/dependabot/composer/illuminate/support-tw-8.16.0
- dev-restyled/dependabot/composer/illuminate/support-tw-8.15.0
- dev-restyled/dependabot/composer/illuminate/support-tw-8.14.0
- dev-restyled/dependabot/composer/illuminate/support-tw-8.13.0
- dev-restyled/dependabot/composer/illuminate/support-tw-8.12.3
- dev-restyled/dependabot/composer/illuminate/support-tw-8.11.2
- dev-restyled/dependabot/composer/illuminate/support-tw-8.10.0
- dev-restyled/dependabot/composer/illuminate/support-tw-8.9.0
- dev-restyled/dependabot/composer/illuminate/support-tw-8.8.0
This package is auto-updated.
Last update: 2024-09-13 02:42:41 UTC
README
| 这是一个仅支持阿拉伯语语言Slug的包装包
提供了一个HasSlug trait,当保存您的Laravel Eloquent模型时将生成唯一的slug。
$model = new Article(); $model->name = 'كيف اتعلم البرمجة'; $model->save(); echo $model->slug; // ouputs "كيف-اتعلم-البرمجة"
安装
更新您的项目composer.json
文件。
composer require zymawy/arabify
您可能想要更改可以通过配置进行的函数
php artisan vendor:publish --provider="Zymawy\Arabify\ArabifyServiceProvider"
用法
您的Eloquent模型可以使用Zymawy\Arabfiy\HasSlug
trait和Zymawy\Arabfiy\SlugOptions
类。
该trait有一个受保护的getSlugOptions()
方法,您可以对其进行实现以进行自定义。
以下是一个示例
class YourEloquentModel extends Model { use HasSlug; /** * This function is optional and only required * when you want to override the default behaviour */ protected function getSlugOptions() { return SlugOptions::create() ->slugSeperator('-') ->generateSlugFrom('name') ->saveSlugTo('slug'); } }
如果您想要从关系生成slug。
class YourEloquentModel extends Model { use HasSlug; public function getNameAndFooAttribute() { $name = $this->name; if ($this->foo) { $name .= " {$this->foo->name}"; } return $name; } protected function getSlugOptions() { return SlugOptions::create() ->generateSlugFrom('name_and_foo'); } }
配置
您不需要在模型中添加方法(上面的内容将作为默认使用)。只有在您想要更改默认行为时才需要。
默认情况下,将从name
生成slug并将其保存到slug
列。
它将添加一个后缀-1
以使slug唯一。您可以通过调用makeSlugUnique(false)
来禁用它。
它将使用-
作为分隔符。您可以通过调用slugSeperator('_')
来更改它。
您可以使用多个字段作为slug的来源generateSlugFrom(['firstname', 'lastname'])
。
您还可以将callable
函数传递给generateSlugFrom()
。
有关选项和可用配置函数的详细信息,请参阅这里。
致谢
- Ben-Piet O'Callaghan - 初始工作 - bpocallaghan
- Hamza Zymawy - 贡献者 - zymawy
有关参与此项目的贡献者的列表,请参阅此处。