initial commit

Add main logic. Add some dogs and some actions.
This commit is contained in:
2018-06-03 18:27:37 +07:00
commit 9aca729675
16 changed files with 2402 additions and 0 deletions

38
dogs.php Normal file
View File

@@ -0,0 +1,38 @@
<?php
require_once './vendor/autoload.php';
$cmd = new Commando\Command();
$knownKinds = \Dogs\DogAbstract::getKnownKinds();
$knownActions = \Dogs\DogAbstract::getKnownActions();
$cmd->option()
->require()
->describedAs('Dog kind. Known values: ' . implode(', ', $knownKinds));
$cmd->option()
->require()
->describedAs('Action of dog. Known actions: ' . implode(', ', $knownActions));
$dogKind = $cmd[0];
$dogAction = $cmd[1];
try {
echo "You choose {$dogKind}" . PHP_EOL;
$dog = Dogs\DogAbstract::buildDog($dogKind);
echo "Dog going to {$dogAction}" . PHP_EOL;
$result = $dog->$dogAction();
echo $result;
} catch (Dogs\Exceptions\ApplicationException $e) {
echo $e->getMessage();
return;
} catch (\Throwable $e) {
echo 'Something going wrong.' . PHP_EOL;
echo 'Message: ' . $e->getMessage();
return;
}