Skip to content

University, College, and High School name generator using fakerphp/faker

License

Notifications You must be signed in to change notification settings

Kenny-MWI/FakerSchools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

FakerSchools

University, College, and High School name generator using fakerphp/faker

Installation

Add the FakerSchools library to your composer.json file:

composer require kenny-mwi/faker-schools --dev

Remove the --dev flag if you need it in production.

Usage

This is a third-party library for Faker. You'll need to add the Schools class to the Faker generator in your setup somewhere:

<?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

Make sure your faker locale matches the FakerSchools locale you pick or you may see some mismatched names generated. In Laravel projects this is defined in config/app.php.

Laravel

If you're using this in a Laravel database factory, you can create a custom FakerServiceProvider and add the provider there.

<?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];
    }
}

Next, register the provider in config/app.php where your other custom service providers are registered.

'providers' => ServiceProvider::defaultProviders()->merge([
    App\Providers\FakerServiceProvider::class,
    App\Providers\SomeOtherProvider::class,
    // etc
]);

Now you should be able to use any of the FakerSchools methods anywhere you're using faker in your project.

Contributing

Feel free to create localized providers for your own locale and submit a PR! I'm also always open to suggestions for new features to add.

About

University, College, and High School name generator using fakerphp/faker

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages