Ce qui suit concerne symfony 1.0.x. On peut ajouter une tâche de plusieurs manières:
- dans le répertoire data/tasks d'un plugin
- dans le répertoire data de symfony (sf_symfony_data_dir)
- dans le répertoire data/tasks du projet.
Il y a une chose d'importante à noter, c'est que le fichier contenant la nouvelle tâche suit respectivement les conventions de nommage suivantes :
- *.php
- sfPake*.php
- myPake*.php
Ensuite, en vidant le cache, la nouvelle tâche est automatiquement disponible. Il suffit de taper la commande: symfony,pour voir apparaître la nouvelle tâche avec sa description dans le message d'aide.
Une nouvelle tâche minimale (ne faisant rien) pourrait ressembler à ça (myPakeValidation.php) :
<?php
pake_desc('sync data between validation and production sites');
pake_task('sync-data', 'project_exists');
pake_alias('validation', 'sync-data');
function run_sync_data($task, $args) {
throw new Exception('This task is not yet implemented.');
}
Désormais, en tapant la ligne de commande suivante, je ferais (quand j'aurai écrit la fonction) la synchronisation entre mon site de validation et mon site de production :
nicolas $ ./symfony validation
1 De Hugo -
Merci Nicolas pour cet article Symfony. Plus j'utilise le framework et plus je deviens fan de sa puissance.