Bonjour tout le monde, je suis 'nouveau' sur ce forum (Par mes posts...), malgré un certain temps de consultation de ce super site...

Je me décide en fin à réellement passer à l'objet et j'ai débuter la conception d'un CMS (Simple...), avec les caractéristiques suivantes :
  • Totalement 'objet'
  • Tout en français (Avec ultérieurement une 'internationalisation' en Anglais...
  • Un système de templates tiré de phpBB
  • Un système de templates tiré de phpBB
  • Un système de thèmes en XHTML strict et CSS 2.1
  • ...


Dés que ce sera possible, je vous en communiquerai plus à ce sujet. Pour le moment, j'aurai besoin d'avis pro sur l'élaboration de ma classe d'accès à la BD... je connais pas trop mal les 'généralités de l'objet, mais bon j'ai tout de même de sacré doutes...
Voici un premier jus (Incomplet) de ma classe de connexion :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
 
class BD
{
	private $BD_Instance = null;
	private static $instance = null;
 
	private function __construct()
	{
		$this->BD_Instance = new PDO('mysql:dbname='.BD.';host='.HOST,USER,PASS);
	}
 
	public static function getInstance()
	{
		if(is_null(self::$instance))
		{
			self::$instance = new BD();
		}
		return self::$instance;
	}
 
	public function query($query)
	{
		return $this->BD_Instancee->query($query);
	}
 
	public function prepare($query)
	{
		return  $this->BD_Instance->prepare($query);
	}
 
	public function lire($query)
	{
		$test = $this->BD_Instance->prepare($query);
		$test->execute();
		return $test->fetchAll();
	}
 
	public function ecrire($query,$array)
	{
		$test = $this->BD_Instance->prepare($query);
		$test->execute($array);
		return $test->fetchAll();
	}
}
 
	const USER	= 'root';
	const HOST	= 'localhost';
	const PASS	= '';
	const BD	= 'test';
 
	$test = BD::getInstance()->lire('SELECT nom FROM categories');
	echo '<pre>', print_r($test) ,'</pre>';
 
 
	BD::getInstance()->ecrire("INSERT INTO categories(nom) VALUES(:test)",array(':test'=>'Un autre tupple!'));

J'aurai aimé votre avis avant d'aller plus loin dans le développement...
Merci d'avance,
Stéphan