PDT : code completion sur __get()
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:
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:
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:
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.