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
- Migration : Comment passer de Temma 1.x à la version 2
- Installation : Télécharger Temma et l'installer pour démarrer votre projet Web
- Configuration : Toutes les directives de configuration du fichier etc/temma.json et les variables d'environnement utilisables en option
- Bibliothèques externes : Comment utiliser des bibliothèques de fonctions externes
- Routage : Le système de routage par défaut de Temma, et le routage avancé
- Log : Utilisation du système de log, gestion par niveaux de criticité
- Contrôleurs : Pièces essentiels de votre application Web
- Vues : Templates Smarty ou exports JSON/CSV/RSS/iCal/INI
- Injection de dépendances : La colonne vertébrale de vos développements applicatifs
- Sessions : Extension des sessions utilisateurs gérées par PHP
- Sources de données : Pour gérer l'accès aux données de manière unifiée
- Modèle : Comment utiliser les DAO pour accéder aux bases de données
- Flux d'exécution : Comment gérer le flux d'exécution, entre les plugins et le contrôleur
- Plugins : Comment utiliser les plugins, et écrire les vôtres pour modulariser votre code
- Attributs : Comment filtrer l'accès aux contrôleurs et aux actions
- Tests : Pour écrire des tests d'intégration automatisés.
- Interface en ligne de commande : Pour créer des scripts exécutables en ligne de commande, initialisés automatiquement par Temma
- Helpers : Objets proposés par Temma pour vous aider dans plusieurs circonstances