php-rt:projets:projet-2017:micro-framework

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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:17] – [7.1- Lecture de données] jcheronphp-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/config.php, et mettez éventuellement à jour les paramètres (siteUrl) :+  - Editer le fichier de configuration app/config.php, et mettez éventuellement à jour le paramètre **siteUrl** en fonction du dossier où se trouve votre projet, 
 +  - Editer le fichier de **.htaccess**, et mettez éventuellement à jour le paramètre **RewriteBase** de la même façon. 
 +  - 
  
 <sxh bash>composer update<sxh> <sxh bash>composer update<sxh>
Ligne 113: Ligne 115:
 class ExempleController extends BaseController{ class ExempleController extends BaseController{
     public function index(){     public function index(){
-        $users=DAO::getAll("User");+        $users=DAO::getAll("models\User");
         ...         ...
     }     }
Ligne 140: Ligne 142:
 class ExempleController extends BaseController{ class ExempleController extends BaseController{
     public function index(){     public function index(){
-       $users=DAO::getAll("User");+       $users=DAO::getAll("models\User");
        $this->loadView("main/vUsers",$users);        $this->loadView("main/vUsers",$users);
     }     }
Ligne 154: Ligne 156:
 class ExempleController extends BaseController{ class ExempleController extends BaseController{
     public function index(){     public function index(){
-       $users=DAO::getAll("User");+       $users=DAO::getAll("models\User");
        $this->loadView("main/vUsers",array("users"=>$users,"title"=>"Liste des utilisateurs");        $this->loadView("main/vUsers",array("users"=>$users,"title"=>"Liste des utilisateurs");
     }     }
Ligne 212: Ligne 214:
 use micro\orm\DAO; use micro\orm\DAO;
  
-    $host=DAO::getOne("Host",1);+    $host=DAO::getOne("models\Host",1);
  
 </sxh> </sxh>
Ligne 236: Ligne 238:
 <sxh php;title:app/controllers/ExempleController> <sxh php;title:app/controllers/ExempleController>
  
-    $ticket=DAO::getOne("Host","name='srv1'");+    $ticket=DAO::getOne("models\Host","name='srv1'");
  
 </sxh> </sxh>
Ligne 246: Ligne 248:
 <sxh php;title:app/controllers/ExempleController> <sxh php;title:app/controllers/ExempleController>
  
-    $hosts=DAO::getAll("Host");+    $hosts=DAO::getAll("models\Host");
  
 </sxh> </sxh>
Ligne 254: Ligne 256:
 <sxh php;title:app/controllers/ExempleController> <sxh php;title:app/controllers/ExempleController>
  
-    $hosts=DAO::getAll("User");+    $hosts=DAO::getAll("models\User");
     foreach($hosts as $host){     foreach($hosts as $host){
         echo $host."<br/>";         echo $host."<br/>";
Ligne 265: Ligne 267:
 <sxh php;title:app/controllers/ExempleController> <sxh php;title:app/controllers/ExempleController>
  
-    $hosts=DAO::getAll("Ticket","idUser=2");+    $hosts=DAO::getAll("models\Ticket","idUser=2");
  
 </sxh> </sxh>
Ligne 273: Ligne 275:
 <sxh php;title:app/controllers/ExempleController> <sxh php;title:app/controllers/ExempleController>
  
-    $hosts=DAO::getAll("Host","1=1 ORDER BY name ASC");+    $hosts=DAO::getAll("models\Host","1=1 ORDER BY name ASC");
  
 </sxh> </sxh>
Ligne 281: Ligne 283:
 <sxh php;title:app/controllers/ExempleController> <sxh php;title:app/controllers/ExempleController>
  
-    $hosts=DAO::getAll("Host","1=1 LIMIT 5");+    $hosts=DAO::getAll("models\Host","1=1 LIMIT 5");
  
 </sxh> </sxh>
Ligne 292: Ligne 294:
 <sxh php;title:app/controllers/ExempleController;highlight:[6]> <sxh php;title:app/controllers/ExempleController;highlight:[6]>
  
-    $user=new User();+    $user=new models\User();
     $user->setLogin("jDoe");     $user->setLogin("jDoe");
     $user->setMail("jdoe@local.fr");     $user->setMail("jdoe@local.fr");
Ligne 303: Ligne 305:
 <sxh php;title:app/controllers/ExempleController;highlight:[6]> <sxh php;title:app/controllers/ExempleController;highlight:[6]>
  
-    $user=new User();+    $user=new models\User();
     $user->setLogin("jDoe");     $user->setLogin("jDoe");
     $user->setMail("jdoe@local.fr");     $user->setMail("jdoe@local.fr");
Ligne 319: Ligne 321:
 <sxh php;title:app/controllers/ExempleController;highlight:[4]> <sxh php;title:app/controllers/ExempleController;highlight:[4]>
  
-    $user=DAO::getOne("User",5);+    $user=DAO::getOne("models\User",5);
     $user->setLogin("johnDoe");     $user->setLogin("johnDoe");
     try{     try{
Ligne 334: Ligne 336:
 <sxh php;title:app/controllers/ExempleController;highlight:[3]> <sxh php;title:app/controllers/ExempleController;highlight:[3]>
  
-    $user=DAO::getOne("User",5);+    $user=DAO::getOne("models\User",5);
     try{     try{
         DAO::delete($user);         DAO::delete($user);
Ligne 343: Ligne 345:
 </sxh> </sxh>
  
-===== -- Exemples ===== 
-==== Gestion des utilisateurs ==== 
  
- 
-Créer un contrôleur **CUsers** héritant de **_DefaultController** dans le dossier **app/controllers** 
- 
-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;title:app/controllers/CUsers.php> 
-<?php 
-class CUsers extends \_DefaultController { 
- 
- public function CUsers(){ 
- $this->title="Utilisateurs"; 
- $this->model="User"; 
- } 
- 
-} 
-</sxh> 
- 
-L'adresse <nowiki>http://127.0.0.1/helpdesk/cusers</nowiki> affiche maintenant la liste des utilisateurs : 
- 
-{{:php-rt:projets:projet-2015:cusers.png?600|}} 
- 
-==== Ajout/Modification ==== 
- 
-Créer la vue **app/views/cusers/vAdd.php** ; 
-elle affiche un formulaire d'ajout ou de modification d'un utilisateur **$user** : 
- 
-<sxh php;title:app/views/cusers/vAdd.php> 
-<form method="post" action="cusers/update"> 
-<fieldset> 
-<legend>Ajouter/modifier un utilisateur</legend> 
-<div class="alert alert-info">Utilisateur : <?php echo $user->toString()?></div> 
-<div class="form-group"> 
- <input type="hidden" name="id" value="<?php echo $user->getId()?>"> 
- <input type="mail" name="mail" value="<?php echo $user->getMail()?>" placeholder="Entrez l'adresse email" class="form-control"> 
- <input type="text" name="login" value="<?php echo $user->getLogin()?>" placeholder="Entrez un login" class="form-control"> 
- <input type="password" name="password" value="<?php echo $user->getPassword()?>" placeholder="Entrez le mot de passe" class="form-control"> 
- <div class="checkbox"> 
- <label><input type="checkbox" name="admin" <?php echo ($user->getAdmin()?"checked":"")?> value="1">Administrateur ?</label> 
- </div> 
-</div> 
-<div class="form-group"> 
- <input type="submit" value="Valider" class="btn btn-default"> 
- <a class="btn btn-default" href="<?php echo $config["siteUrl"]?>cusers">Annuler</a> 
-</div> 
-</fieldset> 
-</form> 
-</sxh> 
- 
-Cette vue sera appelée sur l'action **frm** du contrôleur **CUsers** ; la méthode **frm** doit donc initialiser l'instance **$user**, puis ensuite charger la vue **vAdd.php** : 
- 
-<sxh php;title:app/controllers/CUsers.php> 
- 
- public function frm($id=NULL){ 
- $user=$this->getInstance($id); 
- $this->loadView("cusers/vAdd",array("user"=>$user)); 
- } 
-</sxh> 
- 
-La méthode **getInstance** retourne l'utilisateur chargé depuis la base si **$id** est renseigné, ou un nouvel utilisateur dans le cas contraire. 
- 
-L'ajout et la modification doivent maintenant fonctionner, excepté pour le champ **admin**, de type booléen, et défini par une case à cocher.\\ 
-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;title:app/controllers/CUsers.php> 
- 
- protected function setValuesToObject(&$object) { 
- parent::setValuesToObject($object); 
- $object->setAdmin(isset($_POST["admin"])); 
- } 
- 
-</sxh> 
- 
-===== -- JavaScript/Jquery ===== 
- 
-L'introduction de scripts Jquery se fait dans les contrôleurs, par l'intermédiaire des méthodes de la classe [[http://api.kobject.net/micro-framework/class-micro.js.Jquery.html|Jquery]] 
- 
-==== -- Requête ajax get vers une Url ==== 
- 
-Exécution directe : 
- 
-Appel de l'url **users/frm** dont le résultat est affiché dans la zone html d'id **response** 
-<sxh php;title:controllers/sample> 
- echo Jquery::get("users/frm","#response"); 
-</sxh> 
- 
-Exécution sur évènement : 
- 
-Appel de l'url **users/frm** dont le résultat est affiché dans la zone html d'id **response** sur **click** du bouton d'id **btAfficher** 
-<sxh php;title:controllers/sample> 
- echo Jquery::getOn("#btAfficher","click","users/frm","#response"); 
-</sxh> 
  
  • php-rt/projets/projet-2017/micro-framework.1491167845.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)