문제

Eclipse를 위해 Zend Studio에서 작업하는 Codeigniter의 라이브러리에 대한 자동 완성 및 클릭-참조 (무엇이든)를 얻는 좋은 방법을 찾고 있습니다.

예를 들어, $ this-> load-> library ( 'dx_auth'); $ this-> dx_auth-> get_user_id ();

Zend Studio는 그것이 무엇인지 모릅니다 ..

이런 종류의 해킹 방법이 있습니다 (아래 참조, 원천),하지만 더 나은 방법이 있어야한다고 생각합니다 ..

누구든지 아이디어가 있습니까?

// 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();
도움이 되었습니까?

해결책

CI의 라이브러리 경로를 프로젝트의 경로로 추가하십시오.

  1. 에서 PHP 탐색기, 프로젝트를 열고 마우스 오른쪽 버튼으로 클릭하십시오 경로를 포함하십시오
  2. 고르다 구성 맥락 메뉴에서
  3. 그런 다음 포함 경로 대화 상자에서 도서관
  4. 딸깍 하는 소리 외부 폴더 추가 ...
  5. CI의 로컬 사본을 탐색하고 라이브러리 디렉토리를 선택하십시오 (해당 클래스 파일을 보관할 때마다)
  6. 딸깍 하는 소리 완료

Voila, 당신은 간다!

프로젝트 생성 시점에 포함 된 경로를 정의 할 수도 있습니다.

다른 팁

Peter의 답변이 지시 한 바와 같이, 포함 경로를 추가하는 것이 확실히 가장 좋은 방법입니다. 그러나 이것은 CI 소스 코드의 DocBlocks에 의존하여 완전하고 정확하며 모호하지 않습니다. 예를 들어, 방법 인 경우 @return 로 선언됩니다 Some_Class|false, 자동 완성은 무엇을 해야하는지 알지 못합니다.

Peter의 답변에 추가하려면 PDT/Eclipse/ZSFE가 변수와 같은 특정 클래스의 인스턴스로 처리하도록 강요 할 수도 있습니다.

/* @var $varName Some_Class_Name */

SVN과 같은 Say에서 프로젝트를 수입 한 경우이 프로젝트에 대한 PHP 지원이 가능하지 않을 수 있습니다. 프로젝트를 마우스 오른쪽 버튼으로 클릭하여 활성화 할 수 있습니다 -> 구성 -> PHP 지원 추가 ...

ZS 7.2.1에서 테스트

Zend Studio 9를 사용하고 있습니다. 이것이 제가 한 일입니다. CI의 라이브러리 경로를 프로젝트의 포함 경로로 추가합니다.

$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);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top