Skip to content
Snippets Groups Projects
Select Git revision
  • 51f3681fa373fb471e8435dbc25ecfe67e55da99
  • master default protected
  • release_10.4.0
  • feature_flux_diplomation
  • release_10.3.0
  • test
  • feature_suppression_profils
  • feature_acl_cache
  • feature_module_doctorant
  • feature_module_admission
  • feature_fiche_rncp
  • feature_convention_mel_template
  • feature_portfolio
  • ameliorations_index_rapporteur
  • feature_formation_export_xls
  • feature_fichiers
  • api_inscription_admin
  • feature_module_unicaen_maintenance_mode
  • dev
  • feature_renderer_template_variables
  • feature_notif_forcage_correc
  • 10.3.0
  • 10.2.1
  • 10.2.0
  • 10.1.0
  • 10.0.3
  • 10.0.2
  • 10.0.1
  • 10.0.0
  • 9.4.1
  • 9.4.0
  • 9.3.1
  • 9.3.0
  • 9.2.1
  • 9.2.0
  • 9.1.1
  • 9.1.0
  • 9.0.1
  • 9.0.0
  • 8.6.0
  • 8.5.1
41 results

recreate-test-branch.sh

Blame
  • 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
    }