2009-07-03 8 views
9

Je cherche un bon moyen d'obtenir la saisie semi-automatique et le click-for-reference (quel que soit ce qu'on appelle) pour les bibliothèques de codeigniter travaillant dans Zend Studio pour Eclipse. Par exemple, si je le fais, $ this-> load-> library ('dx_auth'); $ this-> dx_auth-> get_user_id();comment obtenir zend studio autocomplete avec codeigniter

studio zend ne sait pas ce qu'il est ..

Il est ainsi sortof hacky de le faire (voir ci-dessous, source), mais je me sens comme il devrait y avoir une meilleure façon de le faire ..

Vous avez des idées? Ajoutez le chemin d'accès de la bibliothèque de CI comme chemin d'accès à votre projet.

// All of these are added so I get real auto complete 
// I don't have to worry about it causing any problems with deployment 
// as this file never gets called as I'm in PHP5 mode 

// Core CI libraries 
$config = new CI_Config(); 
$db = new CI_DB_active_record(); 
$email = new CI_Email(); 
$form_validation = new CI_Form_validation(); 
$input = new CI_Input(); 
$load = new CI_Loader(); 
$router = new CI_Router(); 
$session = new CI_Session(); 
$table = new CI_Table(); 
$unit = new CI_Unit_test(); 
$uri = new CI_URI(); 

Répondre

7

  1. Dans le PHP Explorateur, ouvrez votre projet et un clic droit sur Inclure les chemins
  2. Sélectionnez Configurer dans le menu contextuel
  3. Ensuite, dans include dialogue de chemin, sélectionnez la bibliothèque tab
  4. Cliquez sur Ajouter un dossier externe ...
  5. Accédez à une copie locale de CI et choisissez son répertoire de la bibliothèque (où il conserve les fichiers de classe)
  6. Cliquez Terminé

Voila, là vous allez!

Je dois noter que vous pouvez également définir des chemins d'inclusion au moment de la création du projet.

+0

Je ne pouvais pas obtenir ce travail. Quel dossier de bibliothèque est-ce? – Mukus

+1

Cette question et cette réponse ont toutes deux quatre ans et demi.À ce jour, CI et Zend Studio auront tous deux changé de manière significative. –

4

Comme l'indique la réponse de Peter, l'ajout d'un chemin include est définitivement la meilleure solution. Cependant, cela dépend des docblocks dans le code source CI pour être complet, précis et non ambigu. Par exemple, si une méthode @return est déclarée Some_Class|false, l'auto-complétion ne saura pas quoi en faire.

Pour ajouter à la réponse de Pierre, vous pouvez également forcer PDT/Eclipse/ZSfE pour traiter une variable comme une instance d'une classe particulière comme ceci:

/* @var $varName Some_Class_Name */ 
+1

Bon conseil w/le type-forcing via des commentaires. En fait, je ne le savais pas. +! –

2

Si vous avez importé le projet de dire, comme SVN, alors vous pourriez ne pas avoir le support PHP activé pour ce projet. Vous pouvez l'activer en un clic droit sur votre projet -> Configurer -> ajouter le support PHP ...

testé dans ZS

+0

J'ai cherché cette révélation pendant trois longues heures agaçantes. Merci Jussi! – mattalxndr

0
7.2.1

J'utilise studio zend 9, qui est ce que je l'ai fait: Ajoutez le chemin de bibliothèque de CI en tant que chemin d'accès à votre projet.

$this->load->model('my_model'); 
$my_model = &$this->my_model; 
$my_model instanceof my_model;//add this ,zend studio can autocomplete 
$my_model->myfunc($foo,$bar);