slam4:php:codeigniter:libraries

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
slam4:php:codeigniter:libraries [2012/12/08 18:13] – créée jcheronslam4:php:codeigniter:libraries [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ====== Bibliothèques ====== ====== Bibliothèques ======
  
 +<html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:helpers" class="wikilink1" title="slam4:php:helpers"><< Helpers</a></div></html><html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:session" class="wikilink1" title="slam4:php:codeigniter:session">Sessions >></a></div></html>
 +
 +  - [[slam4:php:codeigniter|Introduction à CodeIgniter]]
 +  - [[slam4:php:codeigniter:helpers|Helpers]]
 +  - Bibliothèques
 +  - [[slam4:php:codeigniter:session|Sessions CodeIgniter]]
 +  - [[slam4:php:codeigniter:validation|Validation des formulaires]]
 +  - [[slam4:php:codeigniter:orm|ORM IgnitedRecord]]
 +  - [[slam4:php:codeigniter:doctrine|Doctrine]]
 +  - [[slam4:php:codeigniter:javascript|Javascript et codeIgniter]]
 +
 +Une bibliothèque est une classe php disposant de multiples fonctionnalités.
 +
 +===== Création d'une bibliothèque =====
 +
 +<html><div class="note">
 +<ul><li>Une bibliothèque est un fichier contenant une classe dont le nom commence par une majuscule.</li>
 +<li>Le nom du fichier doit être le même que celui de la classe, mais en minuscule.</li>
 +<li>Le fichier doit être enregistré dans le dossier <b>application/libraries/</b></li>
 +</ul>
 +</div></html>
 +
 +Nous allons créer une bibliothèque permettant de gérer une collection d'objets, à partir d'un tableau.\\
 +Créer le fichier **collection.php** dans **application/libraries/** :
 +
 +<code php |h application/libraries/collection.php>
 +<?php
 +class Collection {
 + private $items;
 + public function __construct() {
 + $this->items=array();
 + }
 + public function add($anObject){
 + $this->items[]=$anObject;
 + }
 + public function indexOf($anObject) {
 + return array_search($anObject,$this->items);
 + }
 + public function delete($index){
 + if(array_key_exists($index, $this->items)){
 + unset($this->items[$index]);
 + $this->items=array_values($this->items);
 + }
 + }
 + public function getItem($index){
 + return $this->items[$index];
 + }
 + public function size(){
 + return sizeof($this->items);
 + }
 + public function getItems(){
 + return $this->items;
 + }
 +}
 +?>
 +</code>
 +===== Utilisation d'une bibliothèque =====
 +La bibliothèque doit être chargée :
 +  * soit automatiquement avec autoload.php : 
 +
 +<code php>
 +$autoload['libraries'] = array('database','session','collection');
 +</code>
 +  * Soit dans le code d'un contrôleur par exemple :
 +
 +<code php>
 +$this->load->library('collection');
 +</code>
 +
 +<code php |h controllers/test.php>
 +<?php
 +class Test extends CI_Controller{
 + function __construct(){
 + parent::__construct();
 + }
 + public function testCollection(){
 + $this->collection->add("1 chaîne");
 + $this->collection->add("2 chaînes");
 + foreach ($this->collection->getItems() as $value)
 + echo($value."<br>");
 +
 + }
 +}
 +?>
 +</code>
 +
 +Aller à l'adresse http://localhost/testPhp/test/testCollection/ :
 +
 +{{:slam4:php:codeigniter:libraries-collection.png?|}}
 +
 +<html><div class="info">
 +<ul>
 +<li>Le premier appel de <b>$this->collection</b> instancie une nouvelle collection</li>
 +<li><b>$this->load</b> appelé précédemment correspond à l'utilisation de la librairie <b>load</b></li>
 +</ul>
 +</div></html>
 +
 +
 +<html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:helpers" class="wikilink1" title="slam4:php:helpers"><< Helpers</a></div></html><html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:session" class="wikilink1" title="slam4:php:codeigniter:session">Sessions >></a></div></html>
  • slam4/php/codeigniter/libraries.1354986819.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)