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
