> Actions
fr

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