Bonjour,

Sur mon framework maison j'ai des classe de bases d'ou j'étend mes classes contrôleurs. Ces classes de bases permettent un accès au singletons via la méthode __get().

exemple un modèle de contrôleur général qui permet l'accès à la classe mysql:
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
 
<?php
class baseControler
{
	function __get($a)
	{
		if(isset($this->$a)) {
			return $this->$a;
		} else {
			//on charge le bon objet
			switch($a)
			{
			case 'sql':
				$this->$a = mysql::getInstance();
				break;
			default:
				throw new exception('Impossible de charger le sous objet '.$a);
			}
			return $this->$a;
		}
	}
}
puis le modèle de contrôleur pour les controleurs d'affichage qui ajoute l'accès à la classe de template

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
 
<?php
class uiBaseControler extends baseControler
{
	function __get($a)
	{
		if(isset($this->$a)) {
			return $this->$a;
		} else {
			//on charge le bon objet
			switch($a)
			{
			case 'tpl':
				$this->$a = template::getInstance();
				break;
			default:
				parent::__get($a);
				break;
			}
			return $this->$a;
		}
	}
}
et enfin un contrôleur ui qui étend tout ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<?php
class uiTest extends uiBaseControler
{
	function test()
	{
		$this->sql->ici pas de code completion
	}
}
Existe-t-il avec Eclipse PDT un moyen d'avoir l'autocompletion de code sur des classe chargées avec la methode __get() ?
Habituellement il gère super bien l'architecture pour trouver ce qu'on appelle et bien autocompleter mais là rien.