fakerphp / faker
Faker 是一个 PHP 库,用于生成假数据。
Requires
- php: ^7.4 || ^8.0
- psr/container: ^1.0 || ^2.0
- symfony/deprecation-contracts: ^2.2 || ^3.0
Requires (Dev)
- ext-intl: *
- bamarni/composer-bin-plugin: ^1.4.1
- doctrine/persistence: ^1.3 || ^2.0
- phpunit/phpunit: ^9.5.26
- symfony/phpunit-bridge: ^5.4.16
Suggests
- ext-curl: Required by Faker\Provider\Image to download images.
- ext-dom: Required by Faker\Provider\HtmlLorem for generating random HTML.
- ext-iconv: Required by Faker\Provider\ru_RU\Text::realText() for generating real Russian text.
- ext-mbstring: Required for multibyte Unicode string functionality.
- doctrine/orm: Required to use Faker\ORM\Doctrine
Conflicts
- 2.0.x-dev
- 1.23.x-dev
- v1.23.1
- v1.23.0
- v1.22.0
- v1.21.0
- v1.20.0
- v1.19.0
- v1.18.0
- v1.17.0
- v1.16.0
- v1.15.0
- v1.14.1
- v1.14.0
- v1.13.0
- v1.12.1
- v1.12.0
- 1.11.3
- 1.11.2
- 1.11.1
- v1.11.0
- v1.10.1
- v1.10.0
- v1.9.2
- v1.9.1
- v1.9.0
- v1.8.0
- v1.7.1
- v1.7.0
- v1.5.0
- v1.4.0
- v1.3.0
- v1.2.0
- v1.1.0
- v1.0.0
- dev-dependabot/composer/vendor-bin/rector/rector/rector-1.0.3
- dev-dependabot/composer/vendor-bin/psalm/vimeo/psalm-5.23.1
- dev-dependabot/composer/vendor-bin/phpstan/phpstan/phpstan-1.10.66
- dev-dependabot/composer/vendor-bin/php-cs-fixer/friendsofphp/php-cs-fixer-3.52.1
- dev-dependabot/github_actions/actions/cache-4
- dev-dependabot/github_actions/peter-evans/create-pull-request-6
This package is auto-updated.
Last update: 2024-09-10 14:48:28 UTC
README
Faker
Faker 是一个 PHP 库,用于生成假数据。无论是需要启动数据库、创建好看的 XML 文档、填充持久化数据以进行压力测试,还是匿名化从生产服务中获取的数据,Faker 都适用。
它深受 Perl 的 Data::Faker 和 Ruby 的 Faker 启发。
入门指南
安装
Faker 需要 PHP >= 7.4。
composer require fakerphp/faker
文档
完整文档可以在 fakerphp.github.io 找到。
基本用法
使用 Faker\Factory::create()
创建并初始化 Faker 生成器,可以通过访问以数据类型命名的方法来生成数据。
<?php declare(strict_types=1); require_once 'vendor/autoload.php'; // use the factory to create a Faker\Generator instance $faker = Faker\Factory::create(); // generate data by calling methods echo $faker->name(); // 'Vince Sporer' echo $faker->email(); // '[email protected]' echo $faker->text(); // 'Numquam ut mollitia at consequuntur inventore dolorem.'
每次调用 $faker->name()
都会产生不同的(随机)结果。这是因为 Faker 使用了 __call()
魔术方法,并将 Faker\Generator->$method()
调用转发到 Faker\Generator->format($method, $attributes)
。
<?php declare(strict_types=1); for ($i = 0; $i < 3; $i++) { echo $faker->name() . "\n"; } // 'Cyrus Boyle' // 'Alena Cummerata' // 'Orlo Bergstrom'
自动重构
如果您已经使用此库的属性,它们现在已被弃用,需要用等效的方法替换。
您可以使用提供的 Rector 配置文件来自动化工作。
运行
composer require --dev rector/rector
以安装 rector/rector
。
运行
vendor/bin/rector process src/ --config vendor/fakerphp/faker/rector-migrate.php
以运行 rector/rector
。
注意:不要忘记将 src/
替换为您源目录的路径。
或者,将配置导入您的 rector.php
文件
<?php declare(strict_types=1); use Rector\Config; return static function (Config\RectorConfig $rectorConfig): void { $rectorConfig->import('vendor/fakerphp/faker/rector-migrate.php'); };
许可证
Faker 在 MIT 许可证下发布。有关详细信息,请参阅 LICENSE
。
PHP 版本支持策略
此包的维护者在其初始发布后添加对 PHP 版本的支持,并在该版本达到安全支持结束时一年后停止支持。
向后兼容性承诺
Faker 使用 Semver。这意味着版本被标记为 MAJOR.MINOR.PATCH。只有新的主要版本允许打破向后兼容性(BC)。
标记为 @experimental
或 @internal
的类不包括在我们的向后兼容性承诺中。您也不能保证方法返回的值始终相同。您保证数据类型不会更改。
PHP 8 引入了 命名参数,这增加了包维护者的成本并减少了灵活性。Faker 中方法参数的名称不包括在我们的 BC 承诺中。