Skip to content
Snippets Groups Projects
Commit d9778b64 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

- Pas mal de bugs corrigés

- Prise en compte des PSR 0/4
- Meilleure logs à la génération
parent a719ec04
No related branches found
No related tags found
No related merge requests found
Pipeline #11625 passed
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é
......@@ -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',
],
......
......@@ -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);
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;
......
......@@ -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;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment