artisan/人名

该包已被弃用,不再维护。作者建议使用 humans/人名 包代替。

用于解析人名的包装器。

2.1.0 2019-10-22 04:40 UTC

This package is auto-updated.

Last update: 2020-02-07 23:16:15 UTC


README

Basecamp 的 name_of_person 库 的移植。

一个库,可以更清晰地拆分用户的姓名。

这是一个相当简化的库,没有考虑到姓名处理的任何边缘情况,只是将名字后面的所有内容都视为姓氏。

安装

composer require artisan/name-of-person

升级说明

API 现在返回 PersonName 类的实例而不是字符串,以便进行方法链。这应该不会影响大多数用例。

使用方法

use Artisan\NameOfPerson\PersonName;

$name = new PersonName('Terry Crews');

$name->full;              // => "Terry Crews"
$name->first;             // => "Terry"
$name->last;              // => "Crews"
$name->initials;          // => "TC"
$name->familiar;          // => "Terry C."
$name->abbreviated;       // => "T. Crews"
$name->sorted;            // => "Crews, Terry"
$name->mentionable;       // => "terryc"
$name->possessive;        // => "Terry Crews'"
$name->first->possessive  // => Terry's
$name->last->possessive   // => Crews'

已移除 Laravel Trait

由于有些项目我想使用不同的键来存储姓名,所以我最终没有使用 trait。相反,如果您想使用此库,我强烈建议使用不同的属性,以避免在构建 JSON API 时发生冲突。

use Artisan\NameOfPerson\PersonName;

class User
{
    public function getNameAttribute()
    {
        return new PersonName($this->attributes['full_name']);
    }
}