juillet
2006
Le magnifique PHP IDE de eclipse nous permet d’avoir une « vraie » complétion objet, ce dont on aurait tort de se priver n’est ce pas ?
Elle marche déja bien à la base mais on peut faire en sorte que même les attributs ou les variables en retour de méthodes soient détectés.
Du coup on s’embête moins pour un ligne comme ça :
$this->monAttribut->getMachin()->getTruc();
Comment faire ?
Il suffit tout simplement de commenter son code pour prévenir l’environnement
Les « javaistes » reconnaîtront bien sûr la syntaxe javadoc dont phpdoc s’est inspirée.
Pour les attributs :
/** * @var Client */ private $client;
Pour les méthodes :
/** * Ce texte n'est pas obligatoire pour la complétion mais * tant qu'on en est à commenter, autant aller jusqu'au bout ! * @param Produit * @param int * @return LigneCommande * @throws Exception */ public function creerLigne($produit,$qte){ if($produit->getStock() >= $qte) return new LigneCommande($produit,$qte); else throw new Exception("Quantité insuffisante en stock"); }
Bien entendu, si la méthode n’a pas de return, on ne met pas le @return, idem pour les arguments.
Grace à cela, non seulement on a un code documenté mais en plus la complétion se fera comme il faut.
Bon code à tous.
Sous Zend Studio, lorsqu’il trouve pas la complexion (ça arrive), on peut la lui faire chercher comme cela (par exemple) :
/* @var $obj PDO */
$obj->???
Ceci déclare $obj comme étant instance de PDO, et la complétion s’affiche instantanément.
Je parle ici de PHP IDE qui est fait par Zend pour eclipse et pas de PHP eclipse.
Tu le trouveras ici : http://www.zend.com/phpide/
Effectivement phpeclipse gère très mal la completion objet.
C’est bizarre moi j’ai utilisé un moment PHPeclipse mais j’ai finalement migré vers Zend Studio car la complétion objet était vraiment nulle, je m’explique: Si javais une classe avec des méthodes public et private eclipse s’en fichait… il me ressortait toutes méthodes peu importe leur niveau d’accès.
merci siddh pour cette solution qui présente en plus l’avantage de mettre en avant un code plus propre, plus maintenable. PHP est aujourd’hui une solution/plateforme suffisament robuste pour envisager la création de solutions d’entreprise. Il lui manquait peut-être un « déclic » pour inciter les développeurs à produire du code plus clair, mieux commenté et voilà la solution !