designbycode / business-name-generator
The Business Name Generator is a PHP class that generates business names based on a combination of adjectives and nouns. It provides a flexible and customizable way to generate business names that can be used for various purposes.
Fund package maintenance!
designbycode
Requires
- php: ^8.1|^8.2|^8.3
Requires (Dev)
- laravel/pint: ^1.0
- pestphp/pest: ^2.20
- spatie/ray: ^1.28
README
Overview
The Business Name Generator is a PHP class that generates business names based on a combination of adjectives and nouns. It provides a flexible and customizable way to generate business names that can be used for various purposes.
Business Name Generator Documentation
Installation
You can install the package via composer:
composer require designbycode/business-name-generator
Usage
Basic Usage
require 'vendor/autoload.php'; use Designbycode\BusinessNameGenerator\BusinessNameGenerator; use Designbycode\BusinessNameGenerator\Nouns; use Designbycode\BusinessNameGenerator\Adjectives; // Create a new BusinessNameGenerator instance $generator = new BusinessNameGenerator(); // Generate a business name using default adjectives and funny nouns $businessName = $generator->generate('default', 'funny')->first(); echo $businessName; // Example output: "Innovative Banana"
Generating Business Names
To generate business names, use the generate() method:
$generator->generate();
This will generate an array of business names based on the adjectives and nouns set earlier. You can access the generated names using the get() method:
$names = $generator->get();
Customizing the Generation Process
You can customize the generation process by specifying the category of adjectives and nouns to use. For example:
$generator->generate('funny', 'playful');
This will generate business names using funny adjectives and playful nouns.
Retrieving Specific Names
You can retrieve specific names from the generated list using the following methods:
$last_name = $generator->last(); // returns the last generated business name $first_name = $generator->first(); // returns the first generated business name $random_name = $generator->random(); // returns a random generated business name
You can also retrieve an array of random names using the randomArray() method:
$random_names = $generator->randomArray(3); // returns an array of 3 random generated business names
Converting to String
You can convert the generated names to a string using the toString() method:
$names_string = $generator->toString(', '); // returns a string representation of the generated business names, separated by commas
Setting Adjectives and Nouns
You can set the adjectives and nouns to use for generating business names using the following methods. You can also provide your own lists of adjectives and nouns:
$businessName = new BusinessNameGenerator(); $businessName ->setAdjectives(['Innovative', 'Creative', 'Dynamic']) ->setNouns(['Solutions', 'Technologies', 'Ventures']) ->generate() ->first() echo $businessName; // Example output: "Creative Solutions"
Alternatively, you can pass an array of adjectives and nouns to the constructor:
$businessName = new BusinessNameGenerator(['Innovative', 'Creative', 'Dynamic'], ['Solutions', 'Technologies', 'Ventures']); $businessName->generate()->first() // Example output: "Creative Solutions"
Using Specific Categories
You can generate business names based on specific categories of adjectives and nouns:
$generator = new BusinessNameGenerator(); // Generate a business name using playful adjectives and color-related nouns $businessName = $generator->generate('playful', 'color'); echo $businessName; // Example output: "Cheerful Blue"
Adjective and Noun Categories
Adjective Categories
- default: Standard business-related adjectives.
- funny: Whimsical and humorous adjectives.
- playful: Light-hearted and playful adjectives.
- color: Color-related adjectives.
- all: A combination of all the above categories.
Noun Categories
- default: Standard business-related nouns.
- funny: Whimsical and humorous nouns.
- playful: Light-hearted and playful nouns.
- color: Color-related nouns.
- all: A combination of all the above categories.
Extending the Lists
If you want to extend the list of adjectives or nouns, you can create your own classes that implement the HasGeneratorLists interface.
namespace YourNamespace; use Designbycode\BusinessNameGenerator\HasGeneratorLists; class CustomAdjectives implements HasGeneratorLists { public function default(): array { return ["Energetic", "Bold", "Brilliant"]; } public function funny(): array { return ["Zany", "Wacky", "Goofy"]; } public function playful(): array { return ["Bouncy", "Jovial", "Perky"]; } public function color(): array { return ["Crimson", "Amber", "Sapphire"]; } }
Then use your custom class with the BusinessNameGenerator:
use Designbycode\BusinessNameGenerator\BusinessNameGenerator; use YourNamespace\CustomAdjectives; use Designbycode\BusinessNameGenerator\Nouns; $generator = new BusinessNameGenerator((new CustomAdjectives())->default(), (new Nouns())->default()); $businessName = $generator->generate('default', 'default'); echo $businessName; // Example output: "Energetic Solutions"
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.