alistairshaw/name-exploder

一个简单的类,用于从全名字段中提取标题、名、中间名和姓氏(或反之)。对于西方(类似)名称工作良好,否则有合理的默认值。

0.1.3 2018-02-15 17:17 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:59:03 UTC


README

通过 Composer

$ composer require alistairshaw/name-exploder:^0.1

标题

包括英语(默认)和西班牙语标题的一些数据。如果您需要其他语言的数据,请随时提出拉取请求或直接发送列表给我,我会添加您的语言。请包括任何规则,以便我们改进插件。

您可以将自己的数据附加进来(见下文)。

用法

require 'vendor/autoload.php';

use AlistairShaw\NameExploder\NameExploder;

// You can get a Name object by passing in the full name
$nameExploder = new NameExploder();
$name = $nameExploder->explode('Mr Alistair Shaw');

// get the pieces back
echo $name->firstName();
echo $name->lastName();
echo $name->title();
echo $name->middleInitial();

// cast the Name object as string to just get full name back
echo $name;

// pass in the language for the titles (default is english)
$nameExploder = new NameExploder('es');
$name = $nameExploder->explode('Mr Alistair Shaw');

// make a name from pieces
$name = $nameExploder->implode('Alistair', 'Shaw', '', 'Mr');

// update the title on a name
$name = $nameExploder->updateTitle('Dr', $name);

附加自己的标题数据

您可以轻松地编写一个新的存储库(实现 \AlistairShaw\NameExploder\Title\TitleRepository)并将其注入到主类中。只需确保返回一个标题对象数组,它就会工作得很好!

require 'vendor/autoload.php';

use AlistairShaw\NameExploder\NameExploder;

// pass in a custom repository implementation
$nameExploder = new NameExploder('es', new CustomTitleRepository());
$name = $nameExploder->explode('Mr Alistair Shaw');

注意

我意识到目前这相当基础,我计划随着时间的推移进行改进,特别是添加新语言是优先事项之一。我很乐意听到非拉丁语系人士的建议,以便使这个工具适用于他们。

贡献

欢迎贡献,并将得到充分认可,只需确保添加测试即可。

鸣谢

许可证

MIT 许可证 (MIT)。