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 | ||
| php-rt:projets:projet-2017:micro-framework [2017/04/02 23:10] – [2- Configuration] jcheron | php-rt:projets:projet-2017:micro-framework [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 15: | Ligne 15: | ||
| ===== -- Configuration ===== | ===== -- Configuration ===== | ||
| - | - Exécuter le script **database/cloud.sql** dans phpmyadmin pour créer la base de données | + | - Exécuter le script **app/database/virtualhosts.sql** dans phpmyadmin pour créer la base de données, | 
| - | - Editer le fichier de configuration app/ | + | - Editer le fichier de configuration app/ | 
| + | - Editer le fichier de **.htaccess**, | ||
| + | - | ||
| <sxh bash> | <sxh bash> | ||
| Ligne 75: | Ligne 77: | ||
| |Vues | app/views/ | Interfaces HTML/PHP | | |Vues | app/views/ | Interfaces HTML/PHP | | ||
| |Modèles | app/models/ | Classes métier | | |Modèles | app/models/ | Classes métier | | ||
| - | |Divers | app/my | Classes personnelles | | + | |Divers | app/libraries | 
| ===== -- Modèles et mappage objet/ | ===== -- Modèles et mappage objet/ | ||
| Ligne 113: | Ligne 115: | ||
| class ExempleController extends BaseController{ | class ExempleController extends BaseController{ | ||
| public function index(){ | public function index(){ | ||
| - | $users=DAO:: | + | $users=DAO:: | 
| ... | ... | ||
| } | } | ||
| Ligne 140: | Ligne 142: | ||
| class ExempleController extends BaseController{ | class ExempleController extends BaseController{ | ||
| public function index(){ | public function index(){ | ||
| - |  | + |  | 
|  |  | ||
| } | } | ||
| Ligne 154: | Ligne 156: | ||
| class ExempleController extends BaseController{ | class ExempleController extends BaseController{ | ||
| public function index(){ | public function index(){ | ||
| - |  | + |  | 
|  |  | ||
| } | } | ||
| Ligne 207: | Ligne 209: | ||
| === -- Chargement d'un enregistrement === | === -- Chargement d'un enregistrement === | ||
| - | Chargement | + | Chargement | 
| <sxh php; | <sxh php; | ||
| + | use micro\orm\DAO; | ||
| - | $ticket=DAO:: | + | $host=DAO:: | 
| </ | </ | ||
| Ligne 219: | Ligne 222: | ||
| <sxh php; | <sxh php; | ||
| - | // | + | // | 
| - | echo $ticket-> | + | echo $host-> | 
| - | // | + | |
| - | echo $ticket-> | + | |
| </ | </ | ||
| Les données multiples associées à un objet chargé depuis la base doivent être explicitement chargées : | Les données multiples associées à un objet chargé depuis la base doivent être explicitement chargées : | ||
| - | Chargement des messages liés au ticket | + | Chargement des servers installés sur un Host : | 
| <sxh php; | <sxh php; | ||
| - | $messages=DAO:: | + | $servers=DAO:: | 
| </ | </ | ||
| - | Chargement conditionnel d' | + | Chargement conditionnel d' | 
| <sxh php; | <sxh php; | ||
| - | $ticket=DAO:: | + | $ticket=DAO:: | 
| </ | </ | ||
| Ligne 243: | Ligne 244: | ||
| === -- Chargement de listes d' | === -- Chargement de listes d' | ||
| - | Chargement de tous les tickets | + | Chargement de tous les hosts : | 
| <sxh php; | <sxh php; | ||
| - | $tickets=DAO:: | + | $hosts=DAO:: | 
| </ | </ | ||
| Ligne 255: | Ligne 256: | ||
| <sxh php; | <sxh php; | ||
| - | $tickets=DAO:: | + | $hosts=DAO:: | 
| - | foreach($tickets | + | foreach($hosts as $host){ | 
| - | echo $ticket-> | + | echo $host."< | 
| } | } | ||
|  |  | ||
| </ | </ | ||
| - | Chargement conditionnel des tickets de la catégorie | + | Chargement conditionnel des hosts d'un utilisateur | 
| <sxh php; | <sxh php; | ||
| - | $tickets=DAO:: | + | $hosts=DAO:: | 
| </ | </ | ||
| - | Chargement avec classement par ordre de date de creation | + | Chargement avec classement par ordre du nom : | 
| <sxh php; | <sxh php; | ||
| - | $tickets=DAO:: | + | $hosts=DAO:: | 
| </ | </ | ||
| Ligne 282: | Ligne 283: | ||
| <sxh php; | <sxh php; | ||
| - | $tickets=DAO:: | + | $hosts=DAO:: | 
| </ | </ | ||
| Ligne 293: | Ligne 294: | ||
| <sxh php; | <sxh php; | ||
| - | $user=new User(); | + | $user=new | 
| $user-> | $user-> | ||
| $user-> | $user-> | ||
| Ligne 304: | Ligne 305: | ||
| <sxh php; | <sxh php; | ||
| - | $user=new User(); | + | $user=new | 
| $user-> | $user-> | ||
| $user-> | $user-> | ||
| Ligne 320: | Ligne 321: | ||
| <sxh php; | <sxh php; | ||
| - | $user=DAO:: | + | $user=DAO:: | 
| $user-> | $user-> | ||
| try{ | try{ | ||
| Ligne 335: | Ligne 336: | ||
| <sxh php; | <sxh php; | ||
| - | $user=DAO:: | + | $user=DAO:: | 
| try{ | try{ | ||
| DAO:: | DAO:: | ||
| Ligne 344: | Ligne 345: | ||
| </ | </ | ||
| - | ===== -- Exemples ===== | ||
| - | ==== Gestion des utilisateurs ==== | ||
| - | |||
| - | Créer un contrôleur **CUsers** héritant de **_DefaultController** dans le dossier **app/ | ||
| - | |||
| - | Implémenter le constructeur de la façon suivante : | ||
| - | * **$title** est le titre affiché sur la page | ||
| - | * **$model** la classe du modèle associé | ||
| - | |||
| - | <sxh php; | ||
| - | <?php | ||
| - | class CUsers extends \_DefaultController { | ||
| - | |||
| - | public function CUsers(){ | ||
| - | $this-> | ||
| - | $this-> | ||
| - | } | ||
| - | |||
| - | } | ||
| - | </ | ||
| - | |||
| - | L' | ||
| - | |||
| - | {{: | ||
| - | |||
| - | ==== Ajout/ | ||
| - | |||
| - | Créer la vue **app/ | ||
| - | elle affiche un formulaire d' | ||
| - | |||
| - | <sxh php; | ||
| - | <form method=" | ||
| - | < | ||
| - | < | ||
| - | <div class=" | ||
| - | <div class=" | ||
| - | <input type=" | ||
| - | <input type=" | ||
| - | <input type=" | ||
| - | <input type=" | ||
| - | <div class=" | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | <div class=" | ||
| - | <input type=" | ||
| - | <a class=" | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | Cette vue sera appelée sur l' | ||
| - | |||
| - | <sxh php; | ||
| - | |||
| - | public function frm($id=NULL){ | ||
| - | $user=$this-> | ||
| - | $this-> | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | La méthode **getInstance** retourne l' | ||
| - | |||
| - | L' | ||
| - | Il faut dans ce cas sur-définir la méthode **setValuesToObject** de la classe de base **_DefaultController**, | ||
| - | pour faire en sorte que **admin** ne soit vrai que si la case **admin** du formulaire est cochée | ||
| - | |||
| - | <sxh php; | ||
| - | |||
| - | protected function setValuesToObject(& | ||
| - | parent:: | ||
| - | $object-> | ||
| - | } | ||
| - | |||
| - | </ | ||
| - | |||
| - | ===== -- JavaScript/ | ||
| - | |||
| - | L' | ||
| - | |||
| - | ==== -- Requête ajax get vers une Url ==== | ||
| - | |||
| - | Exécution directe : | ||
| - | |||
| - | Appel de l'url **users/ | ||
| - | <sxh php; | ||
| - | echo Jquery:: | ||
| - | </ | ||
| - | |||
| - | Exécution sur évènement : | ||
| - | |||
| - | Appel de l'url **users/ | ||
| - | <sxh php; | ||
| - | echo Jquery:: | ||
| - | </ | ||