Skip to content
Snippets Groups Projects
Select Git revision
  • 2a2972ff29067806694835d664d2ae119f687052
  • master default protected
  • release_7.2.1
  • release_7.2.0
  • unicaen_authentification
  • release_6.1.2
  • release_6.0.4
  • release_6.1.0
  • release_6.0.3
  • 6.1.0
  • smile
  • 5.x
  • release_5.2.2
  • utilisateur
  • release_5.2.1
  • laminas-bs5-UnicaenPrivilege
  • feature_import_one_row
  • laminas_migration
  • PHP_7-4
  • release_4.0.2
  • release_4.0.0
  • 7.2.1
  • 7.2.0
  • 7.1.0
  • 6.2.0
  • 7.0.0
  • 6.1.4
  • 6.1.3
  • 6.1.2
  • 6.1.1
  • 6.1.0
  • 6.0.3
  • 6.0.2
  • 5.2.3
  • 6.0.1
  • 6.0.0
  • 5.2.2
  • emc2_1.0.0
  • 5.2.1
  • 5.2.0
  • 5.1.2
41 results

DatabaseService.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Divers.dokuwiki 5.73 KiB
    ====== Divers ======
    
    ===== Export CSV =====
    UnicaenApp intègre un ensemble de classes et de méthodes qui permettent de générer facilement des contenus téléchargeables au format CSV.
    
    Exemple d'utilisation :
    <file php DemoController.php>
    public function csvAction()
    {
            /* Création d'un nouveau modèle de données au format CSV. L'en-tête peut être renseignée dès l'instanciation. */
            $result = new \UnicaenApp\View\Model\CsvModel( ['header' => ['Nom','Prenom'] ]);
    
            /* Les données peuvent être transmises par des variables (data, header, separator, filename, delimiter)... */
            $result->setVariable('data', [
                ['Lécluse','Laurent'],
                ['Morin','Paul'],
                ['Durand','Patrick']
            ]);
    
            /* .. ou bien par des accesseurs. Ici on attribue un nom de fichier pour l'export. */
            $result->setFilename('test_export_csv.csv');
    
            /* On peut aussi ajouter au besoin des lignes avec la méthode addLine ou des tableaux avec addLines... */
            $result->addLine( [
                'Anquetil', 'Pierre'
            ] );
    
            return $result;
    }
    </file>
    
    ===== Export XML =====
    Il est possible de générer des fichiers XML à la volée et en utilisant le modèle MVC.
    
    Cela se passe de la manière suivante :
    
    Dans votre action de contrôleur :
    
    <file php controler.php>
    
            $data = ['balise1' => 'contenu1', 'balise2' => 'contenu2'];
    
            $viewModel = new \UnicaenApp\View\Model\XmlModel();
            $viewModel->setVariable('data', $data); // on transfère les données à la vue
            $viewModel->setFileName('mon-fichier-export.xml'); // facultatif
            return $viewModel;
    </file>
    
    Dans votre vue :
    <file php view.phtml>
    <?php
    /**
     * @var $data array
     */
    
    echo "<body>\n";
    foreach( $data as $balise => $valeur ){
        echo "\t".$this->tag($balise)->text($valeur)."\n";
    }
    echo '</body>';
    </file>
    
    <WRAP center round tip 60%>
    Dans cette vue, l'[[develop:unicaen2:moduleunicaenunicaenapp:viewhelpers:tag|Aide de vue Tag]] est utilisée ici pour générer des tags. Ceci évite de gérer explicitement les caractères foireux (<, >, &).
    </WRAP>
    
    
    Résultat :
    <file xml mon-fichier-export.xml>
    <?xml version="1.0" encoding="utf-8"?>