2009-07-03 8 views
9

Poszukuję dobrego sposobu na autouzupełnianie i klikanie-do-odniesienia (cokolwiek to się nazywa) dla bibliotek w codeigniter pracujących w Zend Studio for Eclipse.Jak zdobyć autouzupełnianie zend z codeigniterem

na przykład, jeśli wykonam $ this-> load-> library ('dx_auth'); $ this-> dx_auth-> get_user_id();

Zend Studio nie wiem co to jest ..

Jest to sortof hacky sposób to zrobić (patrz poniżej source), ale czuję się jak nie powinno być lepszy sposób to zrobić ..

Ktoś ma jakieś pomysły?

// 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(); 

Odpowiedz

7

Dodaj ścieżkę biblioteki CI jako ścieżkę dołączania do projektu.

  1. W PHP Explorer, otwórz projekt i kliknij prawym przyciskiem myszy na Dołącz Ścieżki
  2. Wybierz Konfiguracja z menu kontekstowego
  3. Następnie w oknie zawierać ścieżkę, wybierz bibliotekę tab
  4. Kliknij przycisk Dodaj zewnętrzny folder ...
  5. Przejdź do lokalnej kopii CI i wybierz to katalog biblioteki (gdzie utrzymuje te pliki klasa)
  6. Kliknij Sporządzono

voila, tam jesteś!

Należy zauważyć, że można również definiować ścieżki włączania w momencie tworzenia projektu.

+0

Nie mogłem uzyskać tego działa. Który folder biblioteki to jest? – Mukus

+1

To pytanie i odpowiedź mają cztery i pół roku.Do tej pory zarówno CI, jak i Zend Studio znacznie się zmieniły. –

4

Zgodnie z odpowiedzią udzieloną przez Petera, dodanie ścieżki włączenia jest zdecydowanie najlepszą drogą. Jest to jednak oparte na dokumentach w kodzie źródłowym CI, aby były kompletne, dokładne i niejednoznaczne. Na przykład, jeśli metoda @return zostanie zadeklarowana jako Some_Class|false, autouzupełnianie nie będzie wiedzieć, co z nią zrobić.

Aby dodać odpowiedź Piotra, można również wymusić PDT/Eclipse/ZSfE traktować każdą zmienną jako wystąpienie określonej klasy tak:

/* @var $varName Some_Class_Name */ 
+1

Świetna wskazówka z wymuszaniem typu za pomocą komentarzy. Właściwie to nie wiedziałem. +! –

2

Jeśli importowane projekt od powiedzmy, jak SVN, możesz nie mieć włączonej obsługi PHP dla tego projektu. Można ją włączyć przez kliknięcie prawym przyciskiem myszy swój projekt -> Konfiguracja -> dodać obsługę PHP ...

Testowany w ZS 7.2.1

+0

Szukałem tego objawienia przez trzy długie, denerwujące godziny. Dziękuję Jussi! – mattalxndr

0

używam Zend Studio 9, że to co zrobiłem: Dodaj ścieżkę biblioteki CI jako ścieżkę dołączania do projektu.

$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);