Skip to content

GeneratorCommand


Properties

type

The type of class being generated.

protected string $type

codefy

protected \Codefy\Framework\Application $codefy

filesystem

protected \Qubus\FileSystem\FileSystem $filesystem

Methods

__construct

public __construct(\Codefy\Framework\Application $codefy, \Qubus\FileSystem\FileSystem $filesystem): mixed

Parameters:

Parameter Type Description
$codefy \Codefy\Framework\Application
$filesystem \Qubus\FileSystem\FileSystem

getStub

Get the stub file for the generator.

protected getStub(): string
  • This method is abstract.

handle

public handle(): int

Throws:


qualifyClass

Parse the class name and format according to the root namespace.

protected qualifyClass(string $name): string

Parameters:

Parameter Type Description
$name string

Throws:


getDefaultNamespace

Get the default namespace for the class.

protected getDefaultNamespace(string $rootNamespace): string

Parameters:

Parameter Type Description
$rootNamespace string

alreadyExists

Determine if the class already exists.

protected alreadyExists(string $rawName): bool

Parameters:

Parameter Type Description
$rawName string

Throws:


getPath

Get the destination class path.

protected getPath(string $name): string

Parameters:

Parameter Type Description
$name string

Throws:


makeDirectory

Build the directory for the class if necessary.

protected makeDirectory(string $path): string

Parameters:

Parameter Type Description
$path string

Throws:


buildClass

Build the class with the given name.

protected buildClass(string $name): string

Parameters:

Parameter Type Description
$name string

Throws:


replaceNamespace

Replace the namespace for the given stub.

protected replaceNamespace(string& $stub, string $name): $this

Parameters:

Parameter Type Description
$stub string
$name string

Throws:


getNamespace

Get the full namespace for a given class, without the class name.

protected getNamespace(string $name): string

Parameters:

Parameter Type Description
$name string

replaceClass

Replace the class name for the given stub.

protected replaceClass(string $stub, string $name): string

Parameters:

Parameter Type Description
$stub string
$name string

sortImports

Alphabetically sorts the imports for the given stub.

protected sortImports(string $stub): string

Parameters:

Parameter Type Description
$stub string

getNameInput

Get the desired class name from the input.

protected getNameInput(): string

rootNamespace

Get the root namespace for the class.

protected rootNamespace(): string

Throws:


getArguments

Get the console command arguments.

protected getArguments(): array

promptForMissingArgumentsUsing

Prompt for missing input arguments using the returned questions.

protected promptForMissingArgumentsUsing(): array

Inherited methods

__construct

public __construct(\Codefy\Framework\Application $codefy): mixed

Parameters:

Parameter Type Description
$codefy \Codefy\Framework\Application

configure

Configure commands.

protected configure(): void

execute

protected execute(\Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output): int

Parameters:

Parameter Type Description
$input \Symfony\Component\Console\Input\InputInterface
$output \Symfony\Component\Console\Output\OutputInterface

Throws:


getArgument

Returns the argument value for the given argument name.

protected getArgument(string|null $key = null): mixed

Parameters:

Parameter Type Description
$key string|null

getOptions

Returns the option value for the given option name.

protected getOptions(string|null $key = null): bool|string|string[]|null

Parameters:

Parameter Type Description
$key string|null

terminalRaw

Outputs the string to the console without any tag.

protected terminalRaw(string $string): void

Parameters:

Parameter Type Description
$string string

terminalInfo

Output to the terminal wrap in info tags.

protected terminalInfo(string $string): void

Parameters:

Parameter Type Description
$string string

terminalComment

Output to the terminal wrap in comment tags.

protected terminalComment(string $string): void

Parameters:

Parameter Type Description
$string string

terminalQuestion

Output to the terminal wrap in question tags.

protected terminalQuestion(string $string): void

Parameters:

Parameter Type Description
$string string

terminalError

Output to the terminal wrap in error tags.

protected terminalError(string $string): void

Parameters:

Parameter Type Description
$string string

terminalNewLine

Output to the terminal with a blank line.

protected terminalNewLine(int $count = 1): void

Parameters:

Parameter Type Description
$count int

confirm

protected confirm(string $question): mixed

Parameters:

Parameter Type Description
$question string

ask

protected ask(string $question, bool|float|int|string|null $default = null): mixed

Parameters:

Parameter Type Description
$question string
$default bool|float|int|string|null

choice

protected choice(string $question, (string|bool|int|float|\Stringable)[] $choices, bool|float|int|string|null $default = null, string|null $message = null): mixed

Parameters:

Parameter Type Description
$question string
$choices (string|bool|int|float|\Stringable)[]
$default bool|float|int|string|null
$message string|null

multiChoice

protected multiChoice(string $question, (string|bool|int|float|\Stringable)[] $choices, bool|float|int|string|null $default = null, string|null $message = null): mixed

Parameters:

Parameter Type Description
$question string
$choices (string|bool|int|float|\Stringable)[]
$default bool|float|int|string|null
$message string|null

resolveCommand

Resolve the console command instance for the given command.

protected resolveCommand(\Symfony\Component\Console\Command\Command|string $command): \Symfony\Component\Console\Command\Command

Parameters:

Parameter Type Description
$command \Symfony\Component\Console\Command\Command|string

call

Call another console command.

public call(\Symfony\Component\Console\Command\Command|string $command, array $arguments = []): int

Parameters:

Parameter Type Description
$command \Symfony\Component\Console\Command\Command|string
$arguments array

Throws:


option

Get the value of a command option.

public option(string|null $key = null): string|array|bool|null

Parameters:

Parameter Type Description
$key string|null

options

Get all the options passed to the command.

public options(): bool|array|string|null

runCommand

Run the given console command.

protected runCommand(\Symfony\Component\Console\Command\Command|string $command, array $arguments, \Symfony\Component\Console\Output\OutputInterface $output): int

Parameters:

Parameter Type Description
$command \Symfony\Component\Console\Command\Command|string
$arguments array
$output \Symfony\Component\Console\Output\OutputInterface

Throws:


createInputFromArguments

Create an input instance from the given arguments.

protected createInputFromArguments(array $arguments): \Symfony\Component\Console\Input\ArrayInput

Parameters:

Parameter Type Description
$arguments array

context

Get all the context passed to the command.

protected context(): array