kenny-mwi / faker-schools
University, College, and High School name generator using fakerphp/faker
Installs: 2 207
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/kenny-mwi/faker-schools
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
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.