diff --git a/CHANGELOG.md b/CHANGELOG.md index 80ae0823b5bc666a72cd8f49becfea421c7ddc8e..ecb9434ada326f446a7677dd6ab6a53ca7b06e3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,67 +1,74 @@ CHANGELOG ========= +6.0.2 (26/11/2021) +------------------ + +- Pas mal de bugs corrigés +- Prise en compte des PSR 0/4 +- Meilleure logs à la génération + 6.0.1 (24/11/2021) ------------------ -Normalisation Autoload pour PSR4 +- Normalisation Autoload pour PSR4 6.0 (23/11/2021) ------------------ -Migration vers Laminas +- Migration vers Laminas 5.1 (15/11/2021) ------------------ -Correction d'un bug empêchant de générer les ClassMaps +- Correction d'un bug empêchant de générer les ClassMaps 5.0 (22/10/2021) ------------------- -Refonte et simplification de la syntaxe, refactoring massif +- Refonte et simplification de la syntaxe, refactoring massif 4.5 (04/10/2021) ------------------- -Nettoyage de dépendances inutiles -Utilisation de la dernière version des ZFT (avant changement de nom) +- Nettoyage de dépendances inutiles +- Utilisation de la dernière version des ZFT (avant changement de nom) 4.4 (30/09/2021) ------------------- -Correction de bug empêchant d'utiliser les formulaires en CLI +- Correction de bug empêchant d'utiliser les formulaires en CLI 4.3 (29/09/2021) ------------------- -Possibilité d'utiliser le générateur de code directement depuis la ligne de commande +- Possibilité d'utiliser le générateur de code directement depuis la ligne de commande 4.2 (23/07/2021) ------------------- -Ajout des triggers +- Ajout des triggers 4.1 (21/07/2021) ------------------- -Ajout d'un générateur d'entités +- Ajout d'un générateur d'entités 4.0 (19/07/2021) ------------------- -Refonte complète du dispositif avec une nouvelle syntaxe pour les paramètres & l'introduction des générateurs. +- Refonte complète du dispositif avec une nouvelle syntaxe pour les paramètres & l'introduction des générateurs. 3.1 (12/07/2021) ------------------- -Ajout d'un générateur de Classmap (pour optimiser les applis) +- Ajout d'un générateur de Classmap (pour optimiser les applis) 3.0.2 (12/11/2020) ------------------- -Correction d'un bug de formatage du SQL à cause d'un service config pas trouvé +- Correction d'un bug de formatage du SQL à cause d'un service config pas trouvé diff --git a/code/params/controller.php b/code/params/controller.php index 9d9a02faf38f6b88c2dbe511bed7f63ace050e47..5dab40d91e1f9bcf43fad01c5d810545e898c459 100644 --- a/code/params/controller.php +++ b/code/params/controller.php @@ -9,7 +9,7 @@ return [ 'value' => 'Application\Controller\ExempleController', ], - 'route', [ + 'route' => [ 'label' => 'Route par laquelle y accéder depuis une URL (en minus-cules ou snake_case)', 'value' => 'exemple-de-controlleur', ], diff --git a/src/Service/CodeGeneratorService.php b/src/Service/CodeGeneratorService.php index 7c934edd1fd8993aef081c3e61be88f4765ecec6..9c6faad620c3608cf23568cdd8e2929c284549f5 100644 --- a/src/Service/CodeGeneratorService.php +++ b/src/Service/CodeGeneratorService.php @@ -31,7 +31,7 @@ class CodeGeneratorService if ($title = $params['title'] ?? null) { if (Console::isConsole()) { - echo $title; + echo $title."\n"; } else { echo '<h1>' . $title . '</h1>'; } @@ -45,7 +45,7 @@ class CodeGeneratorService if (array_key_exists($name, $console)) { $params[$name] = $console[$name]; } else { - $params[$name] = null; + $params[$name] = $value['value'] ?? null; } } } @@ -171,8 +171,12 @@ class CodeGeneratorService /* Génération du fichier final & rendu */ $params = $this->makeCode($params); - $this->echo($params); - $this->write($params); + if (Console::isConsole()){ + $this->write($params); + }else{ + $this->echo($params); + } + if (isset($params['commandLine'])) { ?> <h1>Création des fichiers depuis la ligne de commandes</h1> @@ -429,18 +433,20 @@ class CodeGeneratorService */ protected function echo(array $params): self { - $echo = !Console::isConsole(); - $expanded = true; + $expanded = $params['expanded'] ?? true; $filename = $params['filename'] ?? 'Code source (fichier sans nom)'; $code = $params['code'] ?? null; - - if (!$echo) return $this; + $write = $params['write'] ?? true; $id = uniqid('bloc_code_'); ?> <a role="button" data-toggle="collapse" href="#<?= $id ?>" aria-expanded="<?= $expanded ? 'true' : 'false' ?>" aria-controls="collapseExample"> <?= $filename ?> - </a><br/> + </a> + <?php if (!$write): ?> + <span class="label label-warning">A TRAITER MANUELLEMENT</span> + <?php endif; ?> + <br/> <div class="collapse<?= $expanded ? ' in' : '' ?>" id="<?= $id ?>"> <?php Util::highlight($code, 'php', true, ['show-line-numbers' => true]); ?> </div> @@ -458,17 +464,23 @@ class CodeGeneratorService */ protected function write(array $params): self { - $write = Console::isConsole(); + $write = $params['write'] ?? true; $filename = $params['filename'] ?? null; $code = $params['code'] ?? null; - if (!$write || !$filename) { + if (!$filename){ return $this; } $outputDir = $params['outputDir'] ?? getcwd(); $filename = $outputDir . '/' . $filename; + if (!$write){ + echo 'A TRAITER MANUELLEMENT : '.$filename."\n"; + + return $this; + } + $parts = explode('/', substr($filename, 1)); array_pop($parts); $dir = ''; @@ -480,6 +492,7 @@ class CodeGeneratorService } file_put_contents($filename, $code); + echo 'FICHIER ECRIT : '.$filename."\n"; chmod($filename, 0777); return $this; diff --git a/src/Util.php b/src/Util.php index bb0332127dd060c1c4510472fc75932f9e488b2d..f582569fb47e710474cfaec941fdba7ded20ea9e 100644 --- a/src/Util.php +++ b/src/Util.php @@ -443,7 +443,16 @@ class Util { $module = self::classModule($class, self::CLASS_MODULE_CONFIG); - return $module['relPath'] . '/src/' . str_replace('\\', '/', $class) . '.php'; + $moduleSrc = $module['relPath'].'/src/'.$module['name']; + if (!file_exists($moduleSrc)){ + $moduleSrc = $module['relPath'].'/src'; + } + $file = str_replace('\\', '/', $class) . '.php'; + if (0 === strpos($file, $module['name'])){ + $file = substr($file, strlen($module['name'])); + } + + return $moduleSrc.$file; }