ChangeSourceDirectoryCommand
extends Command
in package
Change the source directory for your project.
Table of Contents
Constants
- USER_EXIT = 130
Properties
- $description : string
- $hidden : mixed
- $signature : string
Methods
- askForString() : string|null
- fileLink() : string
- Create a filepath that can be opened in the browser from a terminal.
- gray() : void
- Write a grey-coloured line
- handle() : int
- The base handle method that can be overridden by child classes.
- handleException() : int
- Handle an exception that occurred during command execution.
- indentedLine() : void
- Write a line with the specified indentation level
- infoComment() : void
- Write a nicely formatted and consistent message to the console. Using InfoComment for a lack of a better term.
- assembleSubdirectoryPath() : string
- directoryContainsFiles() : bool
- getPageDirectories() : array<string|int, string>
- getValidatedName() : string
- safeHandle() : int
- This method can be overridden by child classes to provide automatic exception handling.
- updateConfigurationFile() : void
- validateDirectoryCanBeUsed() : void
- validateName() : void
- validateSubdirectoryCanBeUsed() : void
Constants
USER_EXIT
public
final mixed
USER_EXIT
= 130
Properties
$description
protected
string
$description
= 'Change the source directory for your project'
$hidden
protected
mixed
$hidden
= true
$signature
protected
string
$signature
= 'change:sourceDirectory {name : The new source directory name}'
Methods
askForString()
public
askForString(string $question[, string|null $default = null ]) : string|null
Parameters
- $question : string
- $default : string|null = null
Return values
string|nullfileLink()
Create a filepath that can be opened in the browser from a terminal.
public
static fileLink(string $path[, string|null $label = null ]) : string
Parameters
- $path : string
- $label : string|null = null
-
If provided, the link will be wrapped in a Symfony Console
href
tag. Note that not all terminals support this, and it may lead to only the label being shown, and the path being lost to the void.
Return values
stringgray()
Write a grey-coloured line
public
gray(string $string) : void
Parameters
- $string : string
handle()
The base handle method that can be overridden by child classes.
public
handle() : int
Alternatively, implement the safeHandle method in your child class to utilize the automatic exception handling provided by this method.
Return values
int —The exit code.
handleException()
Handle an exception that occurred during command execution.
public
handleException(Exception $exception) : int
Parameters
- $exception : Exception
Return values
int —The exit code
indentedLine()
Write a line with the specified indentation level
public
indentedLine(int $spaces, string $string) : void
Parameters
- $spaces : int
- $string : string
infoComment()
Write a nicely formatted and consistent message to the console. Using InfoComment for a lack of a better term.
public
infoComment(string $string) : void
Text in [brackets] will automatically be wrapped in
Parameters
- $string : string
assembleSubdirectoryPath()
protected
assembleSubdirectoryPath(string $name, string $subdirectory) : string
Parameters
- $name : string
- $subdirectory : string
Return values
stringdirectoryContainsFiles()
protected
directoryContainsFiles(string $subdirectory) : bool
Parameters
- $subdirectory : string
Return values
boolgetPageDirectories()
protected
getPageDirectories() : array<string|int, string>
Return values
array<string|int, string>getValidatedName()
protected
getValidatedName(string $name) : string
Parameters
- $name : string
Return values
stringsafeHandle()
This method can be overridden by child classes to provide automatic exception handling.
protected
safeHandle() : int
Existing code can be converted simply by renaming the handle() method to safeHandle().
Return values
int —The exit code.
updateConfigurationFile()
protected
updateConfigurationFile(string $newDirectoryName, string $currentDirectoryName) : void
Parameters
- $newDirectoryName : string
- $currentDirectoryName : string
validateDirectoryCanBeUsed()
protected
validateDirectoryCanBeUsed(string $name) : void
Parameters
- $name : string
validateName()
protected
validateName(string $name) : void
Parameters
- $name : string
validateSubdirectoryCanBeUsed()
protected
validateSubdirectoryCanBeUsed(string $subdirectoryPath) : void
Parameters
- $subdirectoryPath : string