Bonjour aux forum,
En rapport direct avec le sujet de Julien pauli: http://g-rossolini.developpez.com/tu...ge=modele#LV-I
j'ouvre ce post pour traiter d'un point récurrent lors du développement d'un back office. Il est construit très simplement :
|-article
|--- ajout
|--- modification
|--- suppresion
|-utilisateur
|--- ajout
|--- modification
|--- suppresion
etc etc
Prenons l'exemple d'un article :
Toutes ces fonctions seront 'quasiment' les mêmes pour chacune des pages du back off, dés lors je souhaite utiliser une même fonction dans mon controller, se différencie par l'appel du lien.
Prenons l'exemple de la fonction suppression :
AdminController.php
Que j'appel ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 .. public function deleteAction() { $this->view->title = "Supprimer un article"; $id = $this->_request->getParam('id',0); $mod = $this->_request->getParam('mod'); $this->view->mod = $mod; if ($id > 0) { switch($mod) { case 'accueil': $accueil = new Accueil(); if($accueil){ $where = 'idAccueil = ' . $id; $accueil->delete($where); $this->view->message = "L'article a été correctement supprimé"; $this->_redirect('/admin/index'); }else{ $this->view->message = "Erreur de suppression"; } break; case 'utilisateur': break; case 'article': break; } } }
Mais, avec cette facon de coder, je vais me retrouver avec des centaines et centaines (redondantes) de lignes dans mon controller.
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo $this->url(array("controller"=>"admin","action"=>"delete","mod"=>"accueil","id"=>$cle->idAccueil));
- Alors, dois je créer une aide d'action ?
- De plus, lorsque je click sur mon lien suppression, je fais appel à une fonction de AdminController, que je suis obligé de déclarer en deleteAction, donc je créé une vue action.phtml, qui ne contient rien. Moi je souhaiterai uniquement une fonction delete() ?
Partager