Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fakerphp/faker
Faker is a PHP library that generates fake data for you
https://github.com/fakerphp/faker
Last synced: 2 months ago
JSON representation
Faker is a PHP library that generates fake data for you
- Host: GitHub
- URL: https://github.com/fakerphp/faker
- Owner: FakerPHP
- License: other
- Fork: true (fzaninotto/Faker)
- Created: 2020-10-27T10:10:59.000Z (about 4 years ago)
- Default Branch: 2.0
- Last Pushed: 2024-08-11T13:21:01.000Z (4 months ago)
- Last Synced: 2024-09-28T22:41:00.926Z (2 months ago)
- Language: PHP
- Homepage: https://fakerphp.github.io
- Size: 10.3 MB
- Stars: 3,568
- Watchers: 25
- Forks: 345
- Open Issues: 50
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Security: .github/SECURITY.md
Awesome Lists containing this project
- awesome-php - Faker - A fake data generator library. (Table of Contents / Testing)
- awesome-projects - Faker - A fake data generator library. (PHP / Testing)
- awesome-php - Faker - A fake data generator library. (Table of Contents / Testing)
- awesome-php-cn - Faker - 一个假数据生成器图书馆. (目录 / 测试 Testing)
README
# Faker
[![Packagist Downloads](https://img.shields.io/packagist/dm/FakerPHP/Faker)](https://packagist.org/packages/fakerphp/faker)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/FakerPHP/Faker/tests.yaml?branch=2.0)](https://github.com/FakerPHP/Faker/actions)
[![Type Coverage](https://shepherd.dev/github/FakerPHP/Faker/coverage.svg)](https://shepherd.dev/github/FakerPHP/Faker)
[![Code Coverage](https://codecov.io/gh/FakerPHP/Faker/branch/main/graph/badge.svg)](https://codecov.io/gh/FakerPHP/Faker)Faker is a PHP library that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you.
It's heavily inspired by Perl's [Data::Faker](https://metacpan.org/pod/Data::Faker), and by Ruby's [Faker](https://rubygems.org/gems/faker).
## Getting Started
### Installation
Faker requires PHP >= 7.4.
```shell
composer require fakerphp/faker
```### Documentation
Full documentation can be found over on [fakerphp.github.io](https://fakerphp.github.io).
### Basic Usage
Use `Faker\Factory::create()` to create and initialize a Faker generator, which can generate data by accessing methods named after the type of data you want.
```php
name();
// 'Vince Sporer'
echo $faker->email();
// '[email protected]'
echo $faker->text();
// 'Numquam ut mollitia at consequuntur inventore dolorem.'
```Each call to `$faker->name()` yields a different (random) result. This is because Faker uses `__call()` magic, and forwards `Faker\Generator->$method()` calls to `Faker\Generator->format($method, $attributes)`.
```php
name() . "\n";
}// 'Cyrus Boyle'
// 'Alena Cummerata'
// 'Orlo Bergstrom'
```## Automated refactoring
If you already used this library with its properties, they are now deprecated and needs to be replaced by their equivalent methods.
You can use the provided [Rector](https://github.com/rectorphp/rector) config file to automate the work.
Run
```bash
composer require --dev rector/rector
```to install `rector/rector`.
Run
```bash
vendor/bin/rector process src/ --config vendor/fakerphp/faker/rector-migrate.php
```to run `rector/rector`.
*Note:* do not forget to replace `src/` with the path to your source directory.
Alternatively, import the configuration in your `rector.php` file:
```php
import('vendor/fakerphp/faker/rector-migrate.php');
};
```## License
Faker is released under the MIT License. See [`LICENSE`](LICENSE) for details.
## PHP Version Support Policy
The maintainers of this package add support for a PHP version following its initial release and drop support for a PHP version one year after it has reached its end of security support.
## Backward compatibility promise
Faker is using [Semver](https://semver.org/). This means that versions are tagged
with MAJOR.MINOR.PATCH. Only a new major version will be allowed to break backward
compatibility (BC).Classes marked as `@experimental` or `@internal` are not included in our backward compatibility promise.
You are also not guaranteed that the value returned from a method is always the
same. You are guaranteed that the data type will not change.PHP 8 introduced [named arguments](https://wiki.php.net/rfc/named_params), which
increased the cost and reduces flexibility for package maintainers. The names of the
arguments for methods in Faker is not included in our BC promise.