1 | <?php |
||
9 | class ModuleMake extends BaseCommand |
||
10 | { |
||
11 | use Replacer; |
||
12 | use ModuleCreator; |
||
13 | /** |
||
14 | * The name and signature of the console command. |
||
15 | * |
||
16 | * @var string |
||
17 | */ |
||
18 | protected $signature = 'module:make |
||
19 | {module* : Module name (or multiple module names space separated)} |
||
20 | {--group= : Stub group name that will be used for creating this module}'; |
||
21 | |||
22 | /** |
||
23 | * The console command description. |
||
24 | * |
||
25 | * @var string |
||
26 | */ |
||
27 | protected $description = 'Generates new module structure.'; |
||
28 | |||
29 | /** |
||
30 | * {@inheritdoc} |
||
31 | */ |
||
32 | public function proceed() |
||
33 | { |
||
34 | $moduleNames = collect($this->argument('module'))->unique(); |
||
35 | |||
36 | $stubGroup = $this->getStubGroup(); |
||
37 | |||
38 | // verify whether stub directory exists |
||
39 | $this->verifyStubGroup($stubGroup); |
||
40 | |||
41 | $moduleNames->each(function ($moduleName) use ($stubGroup) { |
||
42 | $module = $this->createModuleObject($moduleName); |
||
43 | |||
44 | // module added to configuration or module directory exists |
||
45 | if ($this->laravel['modular']->exists($module->name()) |
||
46 | || $this->exists($module->directory()) |
||
47 | ) { |
||
48 | $this->warn("[Module {$module->name()}] Module already exists - ignoring"); |
||
49 | } else { |
||
50 | // module does not exist - let's create it |
||
51 | $this->createModule($module, $stubGroup); |
||
52 | $this->info("[Module {$module->name()}] Module was generated"); |
||
53 | } |
||
54 | }); |
||
55 | } |
||
56 | |||
57 | /** |
||
58 | * Create module object (it does not mean module exists) |
||
59 | * |
||
60 | * @param string $moduleName |
||
61 | * |
||
62 | * @return Module |
||
63 | */ |
||
64 | protected function createModuleObject($moduleName) |
||
65 | { |
||
66 | return new Module($moduleName, $this->laravel); |
||
67 | } |
||
68 | |||
69 | /** |
||
70 | * Create module |
||
71 | * |
||
72 | * @param Module $module |
||
73 | * @param string $stubGroup |
||
74 | */ |
||
75 | protected function createModule(Module $module, $stubGroup) |
||
86 | |||
87 | /** |
||
88 | * Add module to configuration file |
||
89 | * |
||
90 | * @param $module |
||
91 | */ |
||
92 | protected function addModuleToConfigurationFile(Module $module) |
||
125 | } |
||
126 |
In PHP, under loose comparison (like
==
, or!=
, orswitch
conditions), values of different types might be equal.For
integer
values, zero is a special case, in particular the following results might be unexpected: