X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=app%2FCli.php;h=56dbc5c9bc2a617aca94b5e01b7e64d5bd53bf12;hb=26494fb5cdfb9cf103904d10b6bda564bcf2d0bd;hp=114bfed50097e8a589e2ef62ba627bad8885ca35;hpb=930d06a96fa24317f053fecb8569aacaa69a0778;p=pharext%2Fpharext.org diff --git a/app/Cli.php b/app/Cli.php index 114bfed..56dbc5c 100644 --- a/app/Cli.php +++ b/app/Cli.php @@ -2,22 +2,26 @@ namespace app; -use merry\Config; use pharext\Cli\Args; class Cli { /** - * @var \merry\Config + * @var \app\Config */ private $config; + /** + * @var \pharext\Cli\Args + */ + private $args; + function __construct(Config $config, Args $args) { $this->config = $config; $this->args = $args; } - function __invoke($argc, array $argv) { + function __invoke($argc, array $argv, callable $exec) { $prog = array_shift($argv); foreach ($this->args->parse(--$argc, $argv) as $error) { $errs[] = $error; @@ -35,15 +39,13 @@ class Cli } if ($this->args["ngrok"]) { - system($this->config->ngrok->command . " ". implode(" ", array_map("escapeshellarg", [ - "http", - "--subdomain=pharext", - "--authtoken", - $this->config->ngrok->auth->token, - "--auth", - $this->config->ngrok->auth->user .":". $this->config->ngrok->auth->pass, - "80" - ]))); + $exec(Cli\Ngrok::class); + } + if ($this->args["initdb"]) { + $exec(Cli\Initdb::class); + } + if ($this->args["gen-models"]) { + $exec(Cli\GenModels::class); } }