| Line 1... |
Line 1... |
| 1 |
<?php
|
1 |
<?php
|
| 2 |
// declare(encoding='UTF-8');
|
2 |
// declare(encoding='UTF-8');
|
| 3 |
/**
|
3 |
/**
|
| 4 |
* Classe fournissant des informations au Framework sur l'application.
|
4 |
* Classe fournissant des informations au Framework sur l'application.
|
| 5 |
*
|
5 |
*
|
| 6 |
* PHP version 5
|
- |
|
| 7 |
*
|
- |
|
| 8 |
* @category Debogage
|
6 |
* @category PHP 5.2
|
| 9 |
* @package Framework
|
7 |
* @package Framework
|
| 10 |
// Auteur principal :
|
- |
|
| 11 |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
8 |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
| 12 |
// Autres auteurs :
|
9 |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)
|
| 13 |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
|
10 |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3
|
| 14 |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
|
11 |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2
|
| 15 |
* @version $$Id: Application.php 153 2010-03-04 10:48:32Z jpm $$
|
12 |
* @version SVN : $Id: Application.php 186 2010-04-28 15:50:16Z jpm $
|
| 16 |
* @copyright 1999-2009 Tela Botanica (accueil@tela-botanica.org)
|
13 |
* @link /doc/framework/
|
| 17 |
*/
|
14 |
*/
|
| 18 |
class Application {
|
15 |
class Application {
|
| Line 19... |
Line 16... |
| 19 |
|
16 |
|
| 20 |
/**
|
17 |
/**
|
| 21 |
* tableau d'informations sur l'application
|
18 |
* Tableau d'informations sur l'application
|
| 22 |
*/
|
19 |
*/
|
| 23 |
private static $info = null;
|
20 |
private static $info = null;
|
| 24 |
/**
|
21 |
/**
|
| 25 |
* chemin de base de l'application
|
22 |
* Chemin de base de l'application
|
| 26 |
*/
|
23 |
*/
|
| Line 27... |
Line 24... |
| 27 |
private static $chemin = null;
|
24 |
private static $chemin = null;
|
| - |
|
25 |
|
| - |
|
26 |
/**
|
| - |
|
27 |
* Initialise différentes classes du Framework nécessaires pour le fonctionnement de l'application.
|
| - |
|
28 |
* Ces classes sont ensuites controlées via les fichiers de config.ini.
|
| - |
|
29 |
* Elle est appelée automatiquement suite à la définition du chemin de l'application via Application::setChemin().
|
| - |
|
30 |
*/
|
| - |
|
31 |
private static function initialiser() {
|
| - |
|
32 |
// Instanciation du gestionnaire d'exception
|
| - |
|
33 |
GestionnaireException::getInstance();
|
| - |
|
34 |
// Instanciation du gestionnaire de logs
|
| - |
|
35 |
Log::getInstance();
|
| - |
|
36 |
}
|
| 28 |
|
37 |
|
| - |
|
38 |
/**
|
| 29 |
/**
|
39 |
* Permet d'indiquer le chemin de base de l'Application.
|
| 30 |
* Modificateur pour le chemin de base
|
40 |
* Cette méthode doit obligatoirement être utilisée par l'application pour que le Framework fonctionne correctement.
|
| 31 |
* @param string $chemin_fichier_principal chemin de base
|
41 |
* @param string $chemin_fichier_principal chemin de base
|
| 32 |
*/
|
42 |
*/
|
| 33 |
public static function setChemin($chemin_fichier_principal) {
|
43 |
public static function setChemin($chemin_fichier_principal) {
|
| 34 |
if (self::$chemin === null) {
|
44 |
if (self::$chemin === null) {
|
| 35 |
if (!file_exists($chemin_fichier_principal)) {
|
45 |
if (!file_exists($chemin_fichier_principal)) {
|
| 36 |
trigger_error("Le fichier indiqué n'existe pas. Utilisez __FILE__ dans la méthode set().", E_USER_ERROR);
|
46 |
trigger_error("Le fichier indiqué n'existe pas. Utilisez __FILE__ dans la méthode set().", E_USER_ERROR);
|
| - |
|
47 |
} else {
|
| 37 |
} else {
|
48 |
self::$chemin = dirname($chemin_fichier_principal).DS;
|
| 38 |
self::$chemin = dirname($chemin_fichier_principal).DS;
|
49 |
self::initialiser();
|
| 39 |
}
|
50 |
}
|
| 40 |
} else {
|
51 |
} else {
|
| 41 |
trigger_error("Le chemin de l'application a déjà été enregistré auprès du Framework", E_USER_WARNING);
|
52 |
trigger_error("Le chemin de l'application a déjà été enregistré auprès du Framework", E_USER_WARNING);
|