kenny-mwi/faker-schools

使用 fakerphp/faker 生成大学、学院和高中名称的工具

0.2.1 2023-02-14 18:11 UTC

This package is auto-updated.

Last update: 2024-09-14 07:43:06 UTC


README

Unit Tests Packagist PHP Version Packagist Downloads (custom server) StandWithUkraine

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!我也总是欢迎对添加新功能的建议。