Skip to content

WikiCommand

github-actions edited this page Apr 24, 2026 · 1 revision

Handles the generation of API documentation for the project.

This class MUST NOT be extended and SHALL utilize phpDocumentor to accomplish its task.


Methods

__construct

Creates a new WikiCommand instance.

public __construct(\FastForward\DevTools\Process\ProcessBuilderInterface $processBuilder, \FastForward\DevTools\Process\ProcessQueueInterface $processQueue, \FastForward\DevTools\Composer\Json\ComposerJsonInterface $composer, \FastForward\DevTools\Filesystem\FilesystemInterface $filesystem, \FastForward\DevTools\Git\GitClientInterface $gitClient, \Psr\Log\LoggerInterface $logger): mixed

Parameters:

Parameter Type Description
$processBuilder \FastForward\DevTools\Process\ProcessBuilderInterface
$processQueue \FastForward\DevTools\Process\ProcessQueueInterface
$composer \FastForward\DevTools\Composer\Json\ComposerJsonInterface the composer.json accessor
$filesystem \FastForward\DevTools\Filesystem\FilesystemInterface the filesystem used to inspect the wiki target
$gitClient \FastForward\DevTools\Git\GitClientInterface
$logger \Psr\Log\LoggerInterface the output-aware logger

configure

Configures the command instance.

protected configure(): void

The method MUST set up the name and description. It MAY accept an optional --target option pointing to an alternative configuration target path.


execute

Executes the generation of the documentation files in Markdown format.

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

This method MUST compile arguments based on PSR-4 namespaces to feed into phpDocumentor. It SHOULD provide feedback on generation progress, and SHALL return self::SUCCESS on success.

Parameters:

Parameter Type Description
$input \Symfony\Component\Console\Input\InputInterface the input details for the command
$output \Symfony\Component\Console\Output\OutputInterface the output mechanism for logging

Return Value:

the final execution status code


Inherited methods

addJsonOption

Adds the standard JSON output options to the current command.

protected addJsonOption(): static

isJsonOutput

Determines whether JSON output was requested.

protected isJsonOutput(\Symfony\Component\Console\Input\InputInterface $input): bool

The pretty-json flag SHALL imply JSON output.

Parameters:

Parameter Type Description
$input \Symfony\Component\Console\Input\InputInterface

isPrettyJsonOutput

Determines whether pretty JSON output was requested.

protected isPrettyJsonOutput(\Symfony\Component\Console\Input\InputInterface $input): bool

Parameters:

Parameter Type Description
$input \Symfony\Component\Console\Input\InputInterface

addCacheOption

Adds the standard cache control option to the current command.

protected addCacheOption(string $description): static

Parameters:

Parameter Type Description
$description string the cache option description

addCacheDirOption

Adds the standard cache directory option to the current command.

protected addCacheDirOption(string $description, string $default): static

Parameters:

Parameter Type Description
$description string the cache directory option description
$default string the command-specific default cache directory

isCacheEnabled

Resolves whether cache writes SHOULD be enabled for the current invocation.

protected isCacheEnabled(\Symfony\Component\Console\Input\InputInterface $input, bool $default = true): bool

Parameters:

Parameter Type Description
$input \Symfony\Component\Console\Input\InputInterface the current command input
$default bool the command-specific default cache behavior when the option is omitted

resolveCacheArgument

Returns the explicit cache flag that SHOULD be forwarded to nested commands.

protected resolveCacheArgument(\Symfony\Component\Console\Input\InputInterface $input): ?string

Parameters:

Parameter Type Description
$input \Symfony\Component\Console\Input\InputInterface the current command input

resolveCacheDirArgument

Resolves a nested cache directory for a child command.

protected resolveCacheDirArgument(\Symfony\Component\Console\Input\InputInterface $input, string $path = ''): ?string

Parameters:

Parameter Type Description
$input \Symfony\Component\Console\Input\InputInterface the current command input
$path string the child cache path relative to the current command cache root

Clone this wiki locally