1,7 → 1,7 |
<?php |
<?php |
/** |
* Gestion BDD permet l'appel à l'objet BDD du framework, |
* gère les noms de table en fonction du schéma de la table |
* gère les noms de table en fonction du schéma de la table |
* ainsi que la limite SQL en fonction de l'objet Navigation |
|
* @category php 5.2 |
13,16 → 13,16 |
* @version $Id: Bdd.php 403 2012-02-22 14:35:20Z gduche $ |
*/ |
class GestionBdd { |
|
|
private $bdd; |
private $schemaBdd; |
private $navigation; |
|
|
/** |
* Constructeur de la classe GestionBdd |
* @param Navigation $navigation l'objet navigation issu du Conteneur, et contenant les informations de départ et limite |
* @param String $schemaBdd (optionnel) le schéma de la base issu du fichier de config |
* @param Bdd $bdd (optionnel) un objet Bdd pour la connection à la base de données |
* @param Navigation $navigation l'objet navigation issu du Conteneur, et contenant les informations de départ et limite |
* @param String $schemaBdd (optionnel) le schéma de la base issu du fichier de config |
* @param Bdd $bdd (optionnel) un objet Bdd pour la connection à la base de données |
* */ |
public function __construct($navigation, $schemaBdd = null, $bdd = null) { |
if ($navigation == null) { |
39,7 → 39,7 |
} |
} |
} |
|
|
/** |
* Créer la chaine de limite de requête en fonction des paramètres donnés |
* */ |
46,7 → 46,7 |
public function getLimitSql() { |
return ' LIMIT '.$this->navigation->getDepart().', '.$this->navigation->getLimite(); |
} |
|
|
/** |
* Récupérer l'objet Bdd ou le créer s'il n'existe pas |
* @return Bdd l'objet Bdd |
57,35 → 57,5 |
} |
return $this->bdd; |
} |
|
/** Formater un nom de table avec le schéma de la base de données, s'il existe |
* @param String $table le nom de la table |
* @param String $as (optionnel) l'alias de la table |
* @return String la chaine de caractère sous la forme "schema.nomtable as nt" |
* */ |
public function formaterTable($table, $as = null) { |
$chaineTable = $table; |
if ($this->schemaBdd != null) { |
$chaineTable = $this->schemaBdd.'.'.$table; |
} |
if ($as != null && $as != '') { |
$chaineTable .= ' as '.$as; |
} |
return $chaineTable.' '; |
} |
|
/** Formater des noms de table avec le schéma de la base de données, s'il existe |
* @param Array $tables un tableau à deux dimensions contenant le nom et l'alias de la table |
* Ex : Array("nom" => "as", "table" => "") |
* @return String la chaine de caractère sous la forme "schema.nomtable as nt, schema.nomtable2 as nt2" |
* */ |
public function formaterTables($tables) { |
$tablesFormatees = array(); |
foreach ($tables as $nom => $as) { |
$tablesFormatees[] = $this->formaterTable($nom, $as); |
} |
|
return implode(',', $tablesFormatees); |
} |
} |
?> |