Avant de commencer
Nous vous conseillons de lire le tutoriel Hello You ! ainsi que Principes de base avant de commencer la lecture de ce document.
Qu'est-ce qu'une Action ?
Les actions dans Copix sont des réponses à une URL. A une demande correspond une Action.
Les actions sont implémentées dans des objets ActionGroup.
Exemple :
class ActionGroupExemple extends CopixActionGroup { //L'action par défaut public function processDefault (){ } //Action "UneAction" public function processUneAction (){ } //Action "UneAutreAction" public function processUneAutreAction (){ } //Action "UneTroisiemeAction" public function processUneTroisiemeAction (){ } }
Vous êtes libre de faire ce que bon vous semble dans les actions et devez à la fin de chacune retourner une réponse de type "CopixActionReturn" pour indiquer à Copix la façon dont terminer le processus (affichage, téléchargement, redirection, ...)
Les différents codes retour
Affichage avec CopixActionReturn::PPO
Le type PPO est utilisé pour afficher un contenu (souvent (X)HTML).
public function processAffiche (){ $ppo = new CopixPpo (); $ppo->TITLE_PAGE = 'Titre de la page' ; $ppo->nom = 'Le nom à afficher'; return new CopixActionReturn (CopixActionReturn::PPO, $ppo, 'template_a_utiliser.tpl'); //ou alors, plus rapide à écrire return _arPpo ($ppo, 'template_a_utiliser.tpl'); }
Tout sur CopixActionReturn::PPO
Redirection avec CopixActionReturn::REDIRECT
Le type REDIRECT est utilisé pour rediriger l'utilisateur vers une autre URL.
public function processAffiche (){ return new CopixActionReturn (CopixActionReturn::REDIRECT, 'http://www.yahoo.fr'); //ou alors, plus rapide à écrire return _arRedirect ('http://www.yahoo.fr'); }
Tout sur CopixActionReturn::REDIRECT
Téléchargement d'un fichier avec CopixActionReturn::FILE
Le type FILE est utilisé pour présenter à l'utilisateur un fichier existant sur le serveur.
public function processDownload (){ return new CopixActionReturn (CopixActionReturn::FILE, '/tmp/fichier_a_telecharger.pdf'); //ou alors, plus rapide à écrire return _arFile ('/tmp/fichier_a_telecharger.pdf'); }
Tout sur CopixActionReturn::FILE
Téléchargement d'un contenu avec CopixActionReturn::CONTENT
Le type CONTENT est utilisé pour présenter à l'utilisateur un contenu binaire. On s'en sert lorsque le contenu est généré à la volée et n'est pas conservé sur le serveur (une image, un pdf, ...).
public function processDownloadContent (){ $image = new UneClasseQuiGenereUneImage (); return new CopixActionReturn (CopixActionReturn::CONTENT, $image->generateJpg ()); //ou alors, plus rapide à écrire return _arContent ($image->generateJpg ()); }
Tout sur CopixActionReturn::CONTENT
Ne rien faire de plus avec CopixActionReturn::NONE
Le type NONE est rarement utilisé et est réservé pour des occasions très spécifiques ou on demande à Copix de ne rien faire après l'action elle-même (on considère ainsi que l'action a effectué elle-même toutes les opérations nécessaires à la réponse de l'utilisateur).
public function processDownloadContent (){ //des traitements divers return new CopixActionReturn (CopixActionReturn::NONE);//rien d'autre à faire, ni affichage ni rien //ou alors, plus rapide à écrire return _arNone (); }
Retourner un code HTTP avec CopixActionReturn::HTTPCODE
Le type HTTPCODE est également rarement utilisé, il permet de retourner un simple entête HTTP comme retour au navigateur client.
public function processNotFound (){ return new CopixActionReturn (CopixActionReturn::HTTPCODE, CopixHTTPHeader::get404 (), "Page introuvable"); }
Voir aussi
- Les ActionGroup
