Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
php-rt:projets:projet-2017:micro-framework [2017/04/02 23:07] – créée 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 64: | Ligne 66: | ||
< | < | ||
- | Tester l' | + | Tester l' |
- | {{: | + | {{: |
===== -- Structure ===== | ===== -- Structure ===== | ||
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:: | ||
- | </ | ||