kenny-mwi / faker-schools
使用 fakerphp/faker 生成大学、学院和高中名称的工具
0.2.1
2023-02-14 18:11 UTC
Requires
- php: ^7.4|^8.0|^8.1|^8.2
- fakerphp/faker: ^1.20
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.11
- phpstan/phpstan: ^1.8
- phpunit/phpunit: ^9.5
README
FakerSchools
使用 fakerphp/faker 生成大学、学院和高中名称的工具
安装
将 FakerSchools 库添加到您的 composer.json
文件中
composer require kenny-mwi/faker-schools --dev
如果需要在生产环境中使用,请移除 --dev
标志。
用法
这是一个用于 Faker 的第三方库。您需要在您的配置中某处将 Schools
类添加到 Faker 生成器中
<?php $faker = \Faker\Factory::create(); $faker->addProvider(new \FakerSchools\Provider\en_US\Schools($faker)); // To use the US English locale $faker->addProvider(new \FakerSchools\Provider\sv_SE\Schools($faker)); // To use the Swedish locale // Generator $faker->school(); // A randomly generated high school, college, or university school name $faker->highSchool(); // A randomly generated high school name $faker->college(); // A randomly generated college name $faker->university(); // A randomly generated university name $faker->realCollege(); // A real college name $faker->realUniversity(); // A real university name
确保您的 faker 本地化设置与 FakerSchools 选择的本地化设置相匹配,否则可能会生成一些不匹配的名称。在 Laravel 项目中,这定义在 config/app.php
。
Laravel
如果您在 Laravel 数据库工厂中使用此库,可以创建一个自定义的 FakerServiceProvider
并将其添加到那里。
<?php namespace App\Providers; use Faker\Factory; use Faker\Generator; use FakerSchools\Provider\en_US\Schools; use Illuminate\Contracts\Support\DeferrableProvider; use Illuminate\Support\ServiceProvider; class FakerServiceProvider extends ServiceProvider implements DeferrableProvider { /** * Register services. */ public function register(): void { $this->app->singleton(Generator::class, function () { $faker = Factory::create(); $faker->addProvider(new Schools($faker)); return $faker; }); } public function provides(): array { return [Generator::class]; } }
接下来,在 config/app.php
中注册提供者,这是您注册其他自定义服务提供者的地方。
'providers' => ServiceProvider::defaultProviders()->merge([ App\Providers\FakerServiceProvider::class, App\Providers\SomeOtherProvider::class, // etc ]);
现在,您应该可以在项目中任何使用 faker 的地方使用 FakerSchools 的任何方法。
贡献
请随时为您的本地化创建本地化提供者并提交 PR!我也总是欢迎对添加新功能的建议。