slam4:php:codeigniter:orm

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
slam4:php:codeigniter:orm [2012/12/09 16:12] – [Gestion des utilisateurs] jcheronslam4:php:codeigniter:orm [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 3: Ligne 3:
 <html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:validation" class="wikilink1" title="Validation des formulaires"><< Validation des formulaires</a></div></html><html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:doctrine" class="wikilink1" title="Doctrine">ORM Doctrine >></a></div></html> <html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:validation" class="wikilink1" title="Validation des formulaires"><< Validation des formulaires</a></div></html><html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:doctrine" class="wikilink1" title="Doctrine">ORM Doctrine >></a></div></html>
  
-IgnitedRecord est un ORM qui peut être associé à CodeIgniter.\\+  - [[slam4:php:codeigniter|Introduction à CodeIgniter]] 
 +  - [[slam4:php:codeigniter:helpers|Helpers]] 
 +  - [[slam4:php:codeigniter:libraries|Bibliothèques]] 
 +  - [[slam4:php:codeigniter:session|Sessions CodeIgniter]] 
 +  - [[slam4:php:codeigniter:validation|Validation des formulaires]] 
 +  - ORM IgnitedRecord 
 +  - [[slam4:php:codeigniter:doctrine|Doctrine]] 
 +  - [[slam4:php:codeigniter:javascript|Javascript et codeIgniter]] 
 + 
 +IgnitedRecord est un ORM qui peut être associé à CodeIgniter.\\ Mais le projet semble abandonné... ->Utilisation déconsillée\\
 Lien de téléchargement : [[https://www.assembla.com/spaces/IgnitedRecord/documents/aC-m-2SoGr3y4Oab7jnrAJ/download/aC-m-2SoGr3y4Oab7jnrAJ|IgnitedRecord download]] Lien de téléchargement : [[https://www.assembla.com/spaces/IgnitedRecord/documents/aC-m-2SoGr3y4Oab7jnrAJ/download/aC-m-2SoGr3y4Oab7jnrAJ|IgnitedRecord download]]
  
Ligne 75: Ligne 84:
 </code> </code>
  
 +==== Chargement des models ====
 +Le chargement peut être automatique, par le biais de application/config/autoload.php
 +
 +<code php>
 +$autoload['model'] = array('categorie','utilisateur');
 +</code>
 +
 +ou bien se faire dans un contrôleur :
 +
 +<code php>
 +$this->load->model('utilisateur');
 +</code>
 ==== Gestion des utilisateurs ==== ==== Gestion des utilisateurs ====
 === Contrôleur utilisateurs === === Contrôleur utilisateurs ===
-Ajouter un contrôleur utilisateurs dans controllers : la méthode all charge tous les utilisateurs, et leur catégorie correspondante.+Ajouter un contrôleur utilisateurs dans controllers :  
 +  * la méthode **all** charge tous les utilisateurs, et leur catégorie correspondante. 
 +  * Elle appelle ensuite la vue **v_utilisateurs** et lui passe les utilisateurs chargés (**users**)
  
 <code php |h application/controllers/utilisateurs.php> <code php |h application/controllers/utilisateurs.php>
Ligne 98: Ligne 121:
 Créer la vue v_utilisateurs pour afficher la liste des utilisateurs : Créer la vue v_utilisateurs pour afficher la liste des utilisateurs :
 La variable $utilisateurs est récupérée par la méthode all du contrôleur utilisateurs La variable $utilisateurs est récupérée par la méthode all du contrôleur utilisateurs
-<code php |h application/controllers/utilisateurs.php>+<code php |h application/views/v_utilisateurs.php>
 <?php <?php
 foreach ($utilisateurs as $user){ foreach ($utilisateurs as $user){
Ligne 108: Ligne 131:
 Tester en allant à l'adresse http://localhost/testPhp/utilisateurs/all/ Tester en allant à l'adresse http://localhost/testPhp/utilisateurs/all/
  
 +{{:slam4:php:codeigniter:users-list.png?|}}
  
  
 +==== Ajout d'utilisateur ====
 +=== Modification du contrôleur ===
 +Modifier le contrôleur utilisateurs :
 +  * La méthode **add** permet d'afficher un formulaire **v_utilisateur_add** permettant d'ajouter un utilisateur en saisissant son nom.
 +  * La méthode **submit_add** effectue la validation du formulaire en cas de succès de la validation puis appelle la vue **v_success_add**
  
  
 +<code php |h application/controllers/utilisateurs.php>
 +<?php
 +class Utilisateurs extends CI_Controller{
 + public function add(){
 + $this->load->helper(array('form', 'url'));
 +
 + $this->load->library('form_validation');
 +
 + $this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[5]|max_length[12]|xss_clean');
 + if ($this->form_validation->run() == FALSE)
 + {
 + $this->load->view('v_utilisateur_add');
 + }
 + else
 + {
 + $this->submit_add($_POST["username"]);
 + }
 + }
 +
 + public function submit_add($name){
 + $new_user = $this->utilisateur->new_record();
 + $new_user->nom=$name;
 + $new_user->save();
 + $this->load->view('v_success_add',array('user'=>$new_user));
 + }
 +
 + public function all(){
 + $users=$this->utilisateur->find_all();
 + foreach ($users as $user){
 + $user->cat=$user->related('categorie')->get();
 + }
 + $this->load->view('v_utilisateurs',array('utilisateurs'=>$users));
 + }
 +}
 +?>
 +</code>
 +
 +=== Ajout des vues ===
 +La vue **v_utilisateur_add** sera appelée par l'intermédiaire du contrôleur **utilisateurs/add**
 +<code php |h application/views/v_utilisateur_add.php>
 +<html>
 +<head>
 +<title>Ajout utilisateur</title>
 +</head>
 +<body>
 +
 +<?php echo validation_errors(); ?>
 +
 +<?php echo form_open('utilisateurs/add/'); ?>
 +
 +<h5>Nom d'utilisateur</h5>
 +<input type="text" name="username" value="<?php echo set_value('username'); ?>" size="50" />
 +
 +<div><input type="submit" value="Ajouter utilisateur" /></div>
 +
 +</form>
 +
 +</body>
 +</html>
 +</code>
 +
 +La vue **v_success_add** sera appelée après soumission du formulaire par le contrôleur **utilisateurs/submit_add**
 +<code php |h application/views/v_success_add.php>
 +<?php
 +echo($user->nom." ajouté");
 +?>
 +</code>
 +
 +Tester en allant à l'adresse : http://localhost/testPhp/utilisateurs/add/
 +
 +
 +{{:slam4:php:codeigniter:user-add.png?|}}
 +
 +Vérifier l'insertion dans la base de données du nouvel utilisateur.
 +
 +
 +<html><div class="todo">
 +Sur le même principe que pour les utilisateurs, en respectant MVC :
 +<ul>
 +<li>Créer un contrôleur categories</li>
 +<li>Afficher la liste des catégories, et les utilisateurs correspondants</li>
 +<li>Créer la fonctionnalité d'ajout de catégorie</li>
 +<li>Créer la fonctionnalité de modification d'une catégorie existante</li>
 +<li>Créer la fonctionnalité de suppression d'une catégorie</li>
 +</ul>
 +</div></html>
 +
 +<html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:validation" class="wikilink1" title="Validation des formulaires"><< Validation des formulaires</a></div></html><html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:doctrine" class="wikilink1" title="Doctrine">ORM Doctrine >></a></div></html>
  • slam4/php/codeigniter/orm.1355065977.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)