MakePostCommand
extends Command
in package
Scaffold a new Markdown blog post file.
Table of Contents
Constants
- USER_EXIT = 130
Properties
- $description : string
- $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.
- createPostFile() : int
- displaySelections() : void
- getSelections() : array<string|int, string|null>
- getTitle() : string
- safeHandle() : int
- This method can be overridden by child classes to provide automatic exception handling.
Constants
USER_EXIT
public
final mixed
USER_EXIT
= 130
Properties
$description
protected
string
$description
= 'Scaffold a new Markdown blog post file'
$signature
protected
string
$signature
= 'make:post
{title? : The title for the Post. Will also be used to generate the filename}
{--force : Should the generated file overwrite existing posts with the same filename?}'
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
createPostFile()
protected
createPostFile(CreatesNewMarkdownPostFile $creator) : int
Parameters
- $creator : CreatesNewMarkdownPostFile
Return values
intdisplaySelections()
protected
displaySelections(CreatesNewMarkdownPostFile $creator) : void
Parameters
- $creator : CreatesNewMarkdownPostFile
getSelections()
protected
getSelections() : array<string|int, string|null>
Return values
array<string|int, string|null>getTitle()
protected
getTitle() : 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.