Documentation

Vue CSV

Table des matières 

Présentation

La vue CSV permet d'envoyer des fichiers CSV constitués à partir de données PHP.

Par défaut, il s'agit d'un simple flux (comme pour la vue JSON) mais, de manière optionnelle, il est possible de spécifier un nom de fichier. Le CSV sera alors envoyé au navigateur avec des instructions l'incitant à le traiter comme une pièce-jointe et à proposer à l'utilisateur de l'enregistrer sur le disque avec le nom de fichier en question.

Utilisation

Voici un exemple de d'envoi de données au format CSV :

class ApiController extends \Temma\Web\Controller {
    public function getUsers() {
        // enregistrement des données qui vont être
        // envoyées dans le flux CSV
        $this['csv'] = [
            ['name', 'age', 'size'],
            ['Alice', 38, 162],
            ['Bob', 25, 184],
            ['Camille', 31, 176],
        ];
        // définition du nom du fichier (optionnel)
        $this['filename'] = 'userlist.csv';

        // définition de la vue à utiliser
        $this->_view('\Temma\Views\Csv');
    }
}
  • Lignes 5 à 9 : Les données à envoyer dans le flux CSV sont définies en les affectant à la variable csv.
  • Ligne 11 : On définit le nom du fichier CSV (pour qu'il soit traité comme une pièce-jointe) en l'assignant à la variable filename.
  • Ligne 14 : On spécifie que la vue à utiliser pour les données sortantes est la vue CSV (et non pas la vue Smarty habituelle).

À noter : La vue CSV n'a évidemment pas besoin de templates, dans la mesure où ce sont les données PHP qui sont directement sérialisées.

Les données reçues ressembleront à cela :

name,age,size
Alice,38,162
Bob,25,184,
Camille,31,176
Précédent : Vue JSON
Suivant : Vue RSS

Table des matières