enzyme/名称

PHP 的名称操作库。

v1.0.3 2016-04-03 07:53 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:14:39 UTC


README

Build Status Scrutinizer Code Quality Coverage Status

PHP 的名称操作库。

这是什么?

如果你的网站接受用户数据,形式为 ,可选地还有 中间名 和/或 前缀(如 Dr.、Mrs.),然后你想格式化这些数据 - 这个包就是为你准备的。

安装

composer require enzyme/name

用法

标准名和姓。

use Enzyme\Name\Simple;

$name = Simple::fromString('Hubert Cumberdale');
echo $name->getFirst(); // Hubert
echo $name->getLast(); // Cumberdale

格式化名和姓。

use Enzyme\Name\Simple;
use Enzyme\Name\Format;

$name = Simple::fromString('Hubert Cumberdale');
$fmt = Format($name);

echo $fmt->like('First'); // Hubert
echo $fmt->like('First L.'); // Hubert C.
echo $fmt->like('Last, F.'); // Cumberdale, H.

// Quickfire option.
echo Format::nameLike($name, 'First L.'); // Hubert C.

格式化全名(包括中间名/前缀)。

use Enzyme\Name\Simple;
use Enzyme\Name\Format;

$name = Simple::fromString('Dr. Hubert Alberto Cumberdale');

echo Format::nameLike($name, 'First M. Last'); // Hubert A. Cumberdale
echo Format::nameLike($name, 'P. First M. Last'); // Dr. Hubert A. Cumberdale
echo Format::nameLike($name, 'P. Last, F. M.'); // Dr. Cumberdale, H. A.

名称选项

Simple 提供以下访问器,它们返回 Part 实例。

$name->getPrefix(); $name->getFirst(); $name->getMiddle(); $name->getLast();

每个 Part 有两个选项

$part->long() 返回名称的长版本,例如:Hubert $part->short() 返回名称的短版本,例如:H。

你可以用 3 种方式构建一个新的名称

Simple::fromString(...) 简单地传入一个字符串,它将“智能”地尝试从其中解析出名称。

Simple::fromArgs(...) 简单地传入参数,它将尝试从它们构建全名。名称的构建基于传入参数的数量,因此 1 个参数等于 first 名,2 个参数 -> first last,3 个参数 -> first middle last,4 个参数 -> prefix first middle last

因此,要使用 fromArgs 构造函数创建 Hubert Cumberdale 这个名称,它的样子会是 Simple::fromArgs('Hubert', 'Cumberdale');

最后一个选项提供了最大的控制权,Simple::strict()。它简单地返回一个新的 Simple 对象,然后你可以使用设置器显式地构建它:$simple->prefix(...);$simple->first(...);$simple->middle(...);$simple->last(...);。每个设置器都可以被可选调用,以构建不同配置的名称。

格式化器选项

以下示例使用名称 Mr. Hubert Alfred Smith Cumberdale

任何其他字符都将保持不变。例如,你可以使用以下格式字符串 Last, F. M. 从以下名称创建 Cumberdale, H. A. S.