jp3cki / gimei
随机生成日本姓名和地址的工具
Requires
- php: >= 7.1
- ext-json: *
Requires (Dev)
- phpstan/phpstan: ^1.4
- phpunit/phpunit: *
- squizlabs/php_codesniffer: ^3.6.2
- symfony/yaml: ^4.4.36
README
gimei-php 是将 PHP 用库从 gimei (用于生成日本人姓名和地址的库) 转换而来的,适用于在创建测试数据时使用。
原始版本
https://github.com/willnet/gimei
使用方法
必需环境
- PHP 7.1 以上
json
扩展模块
准备
-
如果还没有设置,请通过Composer启用。具体方法请参考下载Composer。
-
如果您还没有在当前源代码(项目)中使用 Composer,请执行以下命令。
php composer.phar init
您将对源代码(项目)的一些问题进行回答,请随意回答。完成后将生成
composer.json
文件。 -
通过 Composer 安装 gimei-php。
-
仅开发时使用
php composer.phar require --dev jp3cki/gimei
-
生产环境使用
php composer.phar require jp3cki/gimei
-
-
现在已准备好使用。
更多详情请参考 Composer 的网站或 Composer 的说明网站。
另外,在通过 Composer 安装库等时,请确保在您的程序开头处 require
或 include
vendor/autoload.php
。
<?php require_once(__DIR__ . '/vendor/autoload.php');
随机返回姓名
等概率返回男性和女性的姓名。
<?php use jp3cki\gimei\Gimei; // require_once(__DIR__ . '/vendor/autoload.php'); $gimei = Gimei::generateName(); echo $gimei . "\n"; // "相沢 陽菜" echo $gimei->kanji . "\n"; // "相沢 陽菜" echo $gimei->hiragana . "\n"; // "あいざわ ひな" echo $gimei->katakana . "\n"; // "アイザワ ヒナ" echo $gimei->last->kanji . "\n"; // "相沢" echo $gimei->last->hiragana . "\n"; // "あいざわ" echo $gimei->last->katakana . "\n"; // "アイザワ" echo $gimei->first->kanji . "\n"; // "陽菜" echo $gimei->first->hiragana . "\n"; // "ひな" echo $gimei->first->katakana . "\n"; // "ヒナ" echo $gimei->isMale . "\n"; // false (echo の挙動上 "0") echo $gimei->isFemale . "\n"; // true ( 〃 "1")
可以显式指定返回男性/女性姓名。
<?php use jp3cki\gimei\Gimei; // require_once(__DIR__ . '/vendor/autoload.php'); $gimei = Gimei::generateMale(); // 男性 echo $gimei->kanji . "\n"; // "山田 太郎" echo $gimei->isMale . "\n"; // true (echo の挙動上 "1") echo $gimei->isFemale . "\n"; // false ( 〃 "0") $gimei = Gimei::generateFemale(); // 女性 echo $gimei->kanji . "\n"; // "相沢 陽菜" echo $gimei->isMale . "\n"; // false (echo の挙動上 "0") echo $gimei->isFemale . "\n"; // true ( 〃 "1")
还可以显式指定男女性别比例。(男性比例以 0.0~1.0 表示)
<?php use jp3cki\gimei\Gimei; // require_once(__DIR__ . '/vendor/autoload.php'); $gimei = Gimei::generate(0.9); // 90% 男性、10% 女性 echo $gimei->kanji . "\n"; // "山田 太郎"
姓名数据是从 gimei
(原始)项目的 names.yml
转换为 JSON 后使用的。
随机返回地址
可以获取由都道府县、区、市、町组合而成的地址信息,使用汉字、平假名、片假名。 (在大多数情况下,生成的地址可能不存在。例如 東京都
名古屋市中村区
首里末吉町
等)
<?php use jp3cki\gimei\Gimei; // require_once(__DIR__ . '/vendor/autoload.php'); $addr = Gimei::generateAddress(); echo $addr . "\n"; // 岡山県大島郡大和村稲木町 echo $addr->kanji . "\n"; // 岡山県大島郡大和村稲木町 echo $addr->hiragana . "\n"; // おかやまけんおおしまぐんやまとそんいなぎちょう echo $addr->katakana . "\n"; // オカヤマケンオオシマグンヤマトソンイナギチョウ echo $addr->prefecture->kanji . "\n"; // 岡山県 echo $addr->prefecture->hiragana . "\n"; // おかやまけん echo $addr->prefecture->katakana . "\n"; // オカヤマケン echo $addr->city->kanji . "\n"; // 大島郡大和村 echo $addr->city->hiragana . "\n"; // おおしまぐんやまとそん echo $addr->city->katakana . "\n"; // オオシマグンヤマトソン echo $addr->town->kanji . "\n"; // 稲木町 echo $addr->town->hiragana . "\n"; // いなぎちょう echo $addr->town->katakana . "\n"; // イナギチョウ
地址数据是从 gimei
(原始)项目的 addresses.yml
转换为 JSON 后使用的。
CONTRIBUTING
- 分支
- 创建 feature branch (
git checkout -b my-new-feature
) ※请勿在 master branch 上工作。 - 准备依赖关系。(
make init
) - 更改源代码和测试。
- 执行测试和编码检查。
make test
make check-style
- commit (
git commit -m 'Add Feature' -a
) - push (
git push origin my-new-feature
) - 创建 pull request。
要使姓名和地址的数据与 gimei
保持一致,
- 请使用
third-party/gimei-original
执行git pull origin master
等更新操作。 - 执行
util/convert-data.php
。
这样应该就可以了。
LICENSE
The MIT License (MIT)
Copyright (c) 2015-2022 AIZAWA Hina <hina@fetus.jp>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
变更日志
-
v2.0.1 - 2022-01-15
- 更新依赖库
- 更新 phpdoc 等
- 更新通过 phpcs, phpstan 检测的区域
-
v2.0.0 - 2019-11-19
- 将最小要求版本更新为 PHP 7.1(内容无变更)
-
v1.1.1 - 2015-08-19
- 更新依赖库(内容无变更)
-
v1.1.0 - 2015-07-23
- 在
Gimei::generateName()
中可以指定男女比例
- 在
-
v1.0.3 - 2015-07-23
- 更新依赖库(内容无变更)
-
v1.0.2 - 2015-06-19
- 更新依赖库(内容无变更)
-
v1.0.1 - 2015-06-17
- 更新依赖库(内容无变更)
-
v1.0.0 - 2015-06-13
- 首次发布
备注
- 版本号遵循 语义化版本控制。
- 针对
v1.0.0
v1.0.1
仅进行功能添加等操作,仅为修复错误,此版本始终推荐使用。v1.1.0
进行了功能添加,但不会影响现有 API,通常推荐使用此版本。v2.0.0
是破坏 API 兼容性的版本,请查看变更日志。
- 在 composer 版本指定中,可以使用
^
或~
安全地指定。
- 针对