-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathliz.php
62 lines (51 loc) · 1.89 KB
/
liz.php
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
<?php
function getLocalIP() {
return getHostByName(getHostName());
}
function showHelp() {
echo "Lista de comandos do liz.php \n";
echo "-------------------------------------- \n";
echo "php liz.php - Executa o ambiente local necessário para o desenvolvimento. \n";
echo "php liz.php --expor - Executa o ambiente no ip da sua máquina caso deseje depurar em outros locais enquanto desenvolve. \n";
echo "php liz.php --controller <ControllerName> - Cria um novo controller baseado no template.";
}
function createController($controllerName) {
$stubPath = __DIR__ . '/src/_core/controller/stubs/controller.stubs';
$controllerDir = __DIR__ . '/src/application/controller';
$controllerFile = $controllerDir . '/' . $controllerName . 'Controller.php';
if (!file_exists($stubPath)) {
echo "Template de controller não encontrado.\n";
return;
}
if (!file_exists($controllerDir)) {
mkdir($controllerDir, 0777, true);
}
$stub = file_get_contents($stubPath);
$controllerContent = str_replace('{class}', $controllerName . 'Controller', $stub);
if (file_put_contents($controllerFile, $controllerContent) !== false) {
echo "Controller {$controllerName}Controller criado com sucesso em {$controllerFile}\n";
} else {
echo "Erro ao criar o controller.\n";
}
}
if (in_array('--help', $argv)) {
showHelp();
} elseif (in_array('--expor', $argv)) {
$ip = getLocalIP();
$port = '8001';
$command = "php -S $ip:$port";
passthru($command);
} elseif (in_array('--controller', $argv)) {
$key = array_search('--controller', $argv);
if (isset($argv[$key + 1])) {
$controllerName = $argv[$key + 1];
createController($controllerName);
} else {
echo "Nome do controller não fornecido.\n";
showHelp();
}
} else {
$command = "php -S 127.0.0.1:8001";
passthru($command);
}
?>