Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| framework-web:symfony:td6 [2018/03/20 19:57] – [Doctrine repositories] jcheron | framework-web:symfony:td6 [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 66: | Ligne 66: | ||
| Chaque Classe Gui dérivée de **SemanticGui** doit logiquement redéfinir les méthodes **dataTable** et **dataForm**. | Chaque Classe Gui dérivée de **SemanticGui** doit logiquement redéfinir les méthodes **dataTable** et **dataForm**. | ||
| + | ==== CRUD contrôleurs ==== | ||
| + | Chaque contrôleur pilotant une classe métier hérite de **CrudController**, | ||
| + | {{: | ||
| + | |||
| + | * Chaque Repository héritant de MainRepository utilise les méthodes protégées de **CrudController**. | ||
| + | * Le constructeur doit initialiser par injection de dépendances une instance de **MainRepository** et de **SemanticGui** dérivées dans son constructeur. | ||
| + | <sxh php; | ||
| + | <?php | ||
| + | class DevelopersController extends CrudController{ | ||
| + | |||
| + | public function __construct(DevelopersGui $gui, | ||
| + | $this-> | ||
| + | $this-> | ||
| + | $this-> | ||
| + | $this-> | ||
| + | $this-> | ||
| + | } | ||
| + | /** | ||
| + | * @Route("/ | ||
| + | */ | ||
| + | public function index(){ | ||
| + | return $this-> | ||
| + | } | ||
| + | | ||
| + | /** | ||
| + | * @Route("/ | ||
| + | */ | ||
| + | public function refresh(){ | ||
| + | return $this-> | ||
| + | } | ||
| + | | ||
| + | /** | ||
| + | * @Route("/ | ||
| + | */ | ||
| + | public function edit($id){ | ||
| + | return $this-> | ||
| + | } | ||
| + | | ||
| + | /** | ||
| + | * @Route("/ | ||
| + | */ | ||
| + | public function add(){ | ||
| + | return $this-> | ||
| + | } | ||
| + | |||
| + | /** | ||
| + | * @Route("/ | ||
| + | */ | ||
| + | public function update(Request $request){ | ||
| + | return $this-> | ||
| + | } | ||
| + | | ||
| + | /** | ||
| + | * @Route("/ | ||
| + | */ | ||
| + | public function deleteConfirm($id){ | ||
| + | return $this-> | ||
| + | } | ||
| + | | ||
| + | /** | ||
| + | * @Route("/ | ||
| + | */ | ||
| + | public function delete($id, | ||
| + | return $this-> | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Fonctionnalités à implémenter ===== | ||
| + | ==== CRUD ==== | ||
| + | |||
| + | <wrap mytodo> | ||
| + | |||
| + | Pour les models **Tag**, **Step**, **Task**, ajouter les fonctionnalités de base CRUD : | ||
| + | * Listage des instances dans une table | ||
| + | * Suppression | ||
| + | * Modification | ||
| + | * Ajout | ||
| + | |||
| + | Consignes : | ||
| + | * Respecter la logique fonctionnelle et structurelle (implémentation) mise en place dans le projet initial | ||
| + | * Factoriser au mieux le code | ||
| + | |||
| + | ==== Route index ==== | ||
| + | |||
| + | <wrap mytodo> | ||
| + | |||
| + | Modifier la route **index**, pour qu' | ||
| + | |||
| + | {{: | ||