人类/人名

用于解析人名的包装器。

4.0.0 2020-06-07 00:16 UTC

This package is auto-updated.

Last update: 2024-09-07 10:04:15 UTC


README

Basecamp的人名库的移植版本。

一个库,可以更详细地解析用户的姓名。

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

安装

composer require humans/name-of-person

升级说明

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

使用方法

use Humans\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特性已被移除!

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

use Humans\NameOfPerson\PersonName;

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