You need to sign in or sign up before continuing.
Select Git revision
logtosyslog
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
NewEntityService.php 2.00 KiB
<?php
use UnicaenCode\Form\ElementMaker;
use UnicaenCode\Util;
/**
* @var $this \Application\View\Renderer\PhpRenderer
* @var $controller \Zend\Mvc\Controller\AbstractController
* @var $viewName string
* @var $sl \Zend\ServiceManager\ServiceLocatorInterface
*/
?>
<h1>Création d'un nouveau service d'entité OSE</h1>
<h3>Etape 1 : Paramétrage</h3>
<?php
$form = new \Zend\Form\Form();
$form->add(ElementMaker::selectEntity(
'entity', 'Entité correspondante', 'Application\Entity\Db'
));
$form->add(ElementMaker::text('alias', 'Alias d\'entité'));
$form->add(ElementMaker::submit('generate', 'Générer le service'));
$form->setData($controller->getRequest()->getPost());
Util::displayForm($form);
if ($controller->getRequest()->isPost() && $form->isValid()) {
$entity = $form->get('entity')->getValue();
$sCodeGenerator = $sl->get('UnicaenCode\CodeGenerator');
/* @var $sCodeGenerator \UnicaenCode\Service\CodeGenerator */
$params = $sCodeGenerator->generateServiceParams([
'classname' => 'Application\\Service\\' . $entity . 'Service',
'generateTrait' => true,
'generateInterface' => false,
], [
'Class' => [
'template' => 'EntityService',
'entity' => $entity,
'alias' => $form->get('alias')->getValue(),
],
'Factory' => [
'template' => 'EntityServiceFactory'
],
]);
?>
<h3>Etape 2 : Création des fichiers sources du service</h3>
<?php
$sCodeGenerator->generateFiles($params);
?>
<div class="alert alert-info">Les fichiers sont récupérables dans le
dossier <?= $sCodeGenerator->getOutputDir() ?></div>
<h3>Etape 3 : Déclaration dans le fichier de configuration</h3>
<?php $sCodeGenerator->generateFile($params['Config'], false); ?>
<div class="alert alert-warning">
Vous devez vous-même placer ces informations dans le fichier de configuration de votre
module.
</div>
<?php
}