alistairshaw / name-exploder
一个简单的类,用于从全名字段中提取标题、名、中间名和姓氏(或反之)。对于西方(类似)名称工作良好,否则有合理的默认值。
0.1.3
2018-02-15 17:17 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: ~5
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)。