Overview

Packages

  • Framework
  • PHP

Classes

  • Application
  • Chronometre
  • Config
  • Controleur
  • Debug
  • GestionnaireException
  • I18n
  • Log
  • Modele
  • Registre
  • SquelettePhp
  • Url

Functions

  • autoloadAppliDefaut
  • autoloadFw
  • Overview
  • Package
  • Class
  • Tree
  • Deprecated
  • Todo
 1: <?php
 2: // declare(encoding='UTF-8');
 3: /**
 4:  * Classe registre, qui permet un accès à différentes variables à travers les autres classes.
 5:  * C'est un singleton
 6:  *
 7:  * @category    PHP 5.2
 8:  * @package     Framework
 9:  * @author      Jean-Pascal MILCENT <jpm@tela-botanica.org>
10:  * @copyright   Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)
11:  * @license     GNU-GPL-v3 <http://www.gnu.org/licenses/gpl.html>
12:  * @license     CECILL-v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt>
13: */
14: class Registre {
15: 
16:     /**
17:      * Tableau associatif stockant les variables
18:      */
19:     private $stockage = array();
20:     /**
21:      * La classe registre se contient elle-même, (pour le pattern singleton)
22:      */
23:     private static $registre;
24: 
25:     /**
26:      * Constructeur par défaut, privé, car on accède à la classe par le getInstance
27:      */
28:     private function __construct() {
29:     }
30: 
31:     /**
32:      * Fonction qui renvoie l'instance de classe en assurant son unicité, c'est l'unique méthode qui doit être
33:      * utilisée pour récupérer l'objet Registre
34:      */
35:     public static function getInstance() {
36:         if (self::$registre instanceof Registre) {
37:             return self::$registre;
38:         }
39:         self::$registre = new Registre;
40:         return self::$registre;
41:     }
42: 
43:     /**
44:      * Ajoute un objet au tableau selon un intitulé donné
45:      * @param string l'intitulé sous lequel l'objet sera conservé
46:      * @param mixed l'objet à conserver
47:      */
48:     public function set($intitule, $objet) {
49:         if (is_array($objet) && isset($this->stockage[$intitule])) {
50:             $this->stockage[$intitule] = array_merge((array) $this->stockage[$intitule], (array) $objet);
51:             $message = "Le tableau $intitule présent dans le registre a été fusionné avec un nouveau tableau de même intitulé !";
52:             trigger_error($message, E_USER_WARNING);
53:         } else {
54:             $this->stockage[$intitule] = $objet;
55:         }
56:     }
57: 
58:     /**
59:      * Renvoie l'objet associé à l'intitulé donné en paramètre
60:      * @return mixed l'objet associé à l'intitulé ou null s'il n'est pas présent
61:      */
62:     public function get($intitule) {
63:         if (isset($this->stockage[$intitule])) {
64:             return $this->stockage[$intitule];
65:         }
66:         return null;
67:     }
68: 
69:     /**
70:      * Détruit l'objet associé à l'intitulé, n'a pas d'effet si il n'y a pas d'objet associé
71:      */
72:     public function detruire($intitule) {
73:         if (isset($this->stockage[$intitule])) {
74:             unset($this->stockage[$intitule]);
75:         }
76:     }
77: 
78:     /**
79:      * Teste si un objet est présent sous un intitulé donné
80:      * @return boolean true si un objet associé à cet intitulé est présent, false sinon
81:      */
82:     public function existe($intitule) {
83:         if(isset($this->stockage[$intitule])){
84:             return true;
85:         }
86:         return false;
87:     }
88: }
89: ?>
TBFramework - v0.2 API documentation generated by ApiGen 2.8.0