2009-07-03 20 views
9

Tôi đang tìm một cách tốt để có được tự động hoàn thành và nhấp để tham khảo (bất cứ điều gì được gọi) cho các thư viện trong trình mã hóa làm việc trong Zend Studio cho Eclipse. Ví dụ:Làm thế nào để có được zend studio autocomplete với codeigniter

ví dụ: nếu tôi làm $ this-> load-> library ('dx_auth'); $ this-> dx_auth-> get_user_id();

Zend Studio không biết nó là gì ..

Có cách này sortof hacky để làm điều đó (xem dưới đây, source), nhưng tôi cảm thấy như có phải là một cách tốt hơn để làm việc đó ..

Bất kỳ ai có ý tưởng nào?

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

Trả lời

7

Thêm đường dẫn thư viện của CI làm đường dẫn bao gồm cho dự án của bạn.

  1. Trong PHP Explorer, mở dự án của bạn và nhấp chuột phải vào Bao gồm Paths
  2. Chọn Configure từ menu ngữ cảnh
  3. Sau đó, trong hộp thoại con đường bao gồm, chọn Thư viện tab
  4. Nhấp vào Thêm thư mục bên ngoài ...
  5. Browse để một bản sao cục bộ của CI và chọn nó là thư mục thư viện (bất cứ nơi nào nó giữ các tập tin lớp)
  6. Bấm Xong

Thì đấy, có bạn đi!

Tôi nên lưu ý rằng bạn cũng có thể xác định đường dẫn bao gồm tại thời điểm tạo dự án.

+0

Tôi không thể làm việc này. Thư mục thư viện nào? – Mukus

+1

Câu hỏi và câu trả lời này là cả bốn năm rưỡi.Đến nay cả CI và Zend Studio sẽ thay đổi đáng kể. –

4

Khi câu trả lời của Peter hướng dẫn, việc thêm đường dẫn bao gồm chắc chắn là cách tốt nhất để thực hiện. Tuy nhiên, điều này dựa vào docblocks trong mã nguồn CI để được hoàn chỉnh, chính xác và không mơ hồ. Ví dụ: nếu một phương thức @return được khai báo là Some_Class|false, tính năng tự động hoàn thành sẽ không biết phải làm gì với nó.

Để thêm vào câu trả lời Phêrô, bạn cũng có thể buộc PDT/Eclipse/ZSfE để điều trị bất kỳ biến như một thể hiện của một lớp học đặc biệt như vậy:

/* @var $varName Some_Class_Name */ 
+1

Mẹo tuyệt vời với kiểu bắt buộc qua nhận xét. Tôi thực sự không biết điều đó. +! –

2

Nếu bạn đã nhập dự án từ nói, giống như SVN, sau đó bạn có thể không có hỗ trợ PHP được kích hoạt cho dự án này. Bạn có thể kích hoạt nó bằng cách click chuột dự án của bạn -> configure -> thêm hỗ trợ PHP ...

Tested trong ZS 7.2.1

+0

Tôi đã tìm kiếm điều mặc khải này trong ba giờ dài, khó chịu. Cảm ơn bạn Jussi! – mattalxndr

0

Tôi đang sử dụng Zend Studio 9, đó là những gì tôi đã làm: Thêm đường dẫn thư viện của CI như là một đường dẫn bao gồm cho dự án của bạn.

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