Skip to content
Snippets Groups Projects
Select Git revision
  • eef9c501a2c65f60a77520575b2740bfbc9a2ec4
  • master default protected
  • cleanup_fixtures
  • add-openvox
  • freebsd-14
  • remove-legacy-top-scope-syntax
  • rel430
  • tests
  • revert-363-augeas-module-cleanup
  • release-4.1.0
  • puppet8
  • relax-dependencies
  • rel400
  • mode
  • puppet7
  • release-3.1.0
  • freebsd13
  • freebsd11
  • stdlib
  • centos
  • fedora
  • v5.1.0
  • v5.0.0
  • v4.5.0
  • v4.4.0
  • v4.3.0
  • v4.2.1
  • v4.2.0
  • v4.1.0
  • v4.0.0
  • v3.1.0
  • v3.0.0
  • v2.0.0
  • 1.12.0
  • 1.11.0
  • 1.10.0
  • 1.9.0
  • 1.8.0
  • 1.7.0
  • 1.6.0
  • 1.5.0
41 results

postfix-mailman.pp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    NewEntityService.php 2.52 KiB
    <?php
    
    use UnicaenCode\Form\ElementMaker;
    use UnicaenCode\Util;
    
    /**
     * @var $this       \Zend\View\Renderer\PhpRenderer
     * @var $controller \Zend\Mvc\Controller\AbstractController
     * @var $viewName   string
     */
    
    ?>
        <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()) {
    
        $module          = 'Application';
        $entity          = $form->get('entity')->getValue();
        $alias           = $form->get('alias')->getValue();
        $name            = 'application' . $entity;
        $targetFullClass = $module . '\\Service\\' . $entity . 'Service';
    
        $sCodeGenerator = $controller->getServiceLocator()->get('UnicaenCode\CodeGenerator');
        /* @var $sCodeGenerator \UnicaenCode\Service\CodeGenerator */
    
        $params           = $sCodeGenerator->generateServiceParams($targetFullClass, $name, $module);
        $params['entity'] = $entity;
        $params['alias']  = $alias;
        $configFileName   = 'module.config.php';
    
        ?>
    
        <h3>Etape 2 : Création des fichiers sources du service</h3>
        <?php
        $sCodeGenerator->setTemplate('EntityService')->setParams($params)->generateToHtml($params['fileName'])->generateToFile($params['fileName']);
    
        $p = $sCodeGenerator->generateServiceTraitParams($targetFullClass, $name, $module . '\Service');
        $sCodeGenerator->setTemplate('ServiceAwareTrait')->setParams($p)->generateToHtml($p['fileName'])->generateToFile($p['fileName']);
    
        $p = $sCodeGenerator->generateServiceInterfaceParams($targetFullClass, $name, $module . '\Service');
        $sCodeGenerator->setTemplate('ServiceAwareInterface')->setParams($p)->generateToHtml($p['fileName'])->generateToFile($p['fileName']);
    
        ?>
        <div class="alert alert-info">Les fichiers sont récupérables dans le
            dossier <?php echo $sCodeGenerator->getOutputDir() ?></div>
    
        <h3>Etape 3 : Déclaration dans le fichier de configuration</h3>
        <?php $sCodeGenerator->setTemplate('ServiceConfig')->setParams($params)->generateToHtml($configFileName); ?>
        <div class="alert alert-warning">
            Vous devez vous-même placer ces informations dans le fichier de configuration de votre
            module.
        </div>
    
        <?php
    }