Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
slam4:php:codeigniter:libraries [2012/12/08 18:19] – jcheron | slam4:php:codeigniter:libraries [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.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:libraries" class="wikilink1" title="slam4:php:codeigniter:libraries">Bibliothèques >></a></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> |
| |
Une bibliothèque est une classe php disposant d'un ensemble de fonctionnalités. | - [[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> |