initial commit
This commit is contained in:
parent
f614837729
commit
b536316a84
|
@ -0,0 +1,68 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Controller\Commands;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class Command
|
||||||
|
{
|
||||||
|
public function __construct(
|
||||||
|
private readonly string $name,
|
||||||
|
private readonly Closure $callback,
|
||||||
|
private readonly array $mandatoryParameters = [],
|
||||||
|
private readonly array $optionalParameters = [],
|
||||||
|
private readonly string $description = ''
|
||||||
|
)
|
||||||
|
{
|
||||||
|
// no body
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getName(): string
|
||||||
|
{
|
||||||
|
return $this->name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getMandatoryParameters(): array
|
||||||
|
{
|
||||||
|
return $this->mandatoryParameters;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getOptionalParameters(): array
|
||||||
|
{
|
||||||
|
return $this->optionalParameters;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
public function getDescription(): ?string
|
||||||
|
{
|
||||||
|
return $this->description;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Closure
|
||||||
|
*/
|
||||||
|
public function getCallback(): Closure
|
||||||
|
{
|
||||||
|
return $this->callback;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function exec(): void
|
||||||
|
{
|
||||||
|
call_user_func(callback: $this->callback);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue