-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathConsole.php
More file actions
78 lines (70 loc) · 1.95 KB
/
Console.php
File metadata and controls
78 lines (70 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
/*
* This file is part of the Niga framework package.
*
* (c) Abass Dev <abass@abassdev.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Niga\Framework\Console;
use Niga\Framework\Application\Configuration;
use Niga\Framework\Console\Maker\Make;
use Niga\Framework\Console\Colors;
/**
* Entry point for the console application
*
* @author Abass Dev <abass@abassdev.com>
*/
final class Console
{
public function __construct($commands)
{
$config = Configuration::getAppConfig();
// Handling empty command, redirect to helper
if (!isset($commands[1]) || $commands[1] == '-h' || $commands[1] == '--help') {
(new Make(["help" => "default"], []));
} elseif (preg_match("/(^m:c$)|(^make:c$)|(^make:controller$)|(^m:controller$)/", $commands[1])) {
(new Make(
["controller" => $commands],
$config["controller"]
));
} elseif (preg_match("/(^m:e$)|(^make:e$)|(^make:entity$)|(^m:entity$)/", $commands[1])) {
(new Make(
["entity" => $commands],
$config["entity"]
));
} elseif (preg_match("/(^run:dev$)/", $commands[1])) {
(new Make(
["server" => $commands],
$config["server"]
));
} else {
$this->unknownCMD();
}
}
/**
* @return string
*/
public static function unknownCMD()
{
return die(Colors::danger("Unknown command\n"));
}
/**
* @return string
*/
public static function unknownError()
{
return die(Colors::danger("Unknown options\n"));
}
/**
* @param string $err
*
* @return string
*/
public static function errorMessage($err)
{
return die(Colors::danger($err . "\n"));
}
}