Codeigniter를 사용하여 Zend Studio를 자동 완성하는 방법
-
22-08-2019 - |
문제
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의 라이브러리 경로를 프로젝트의 경로로 추가하십시오.
- 에서 PHP 탐색기, 프로젝트를 열고 마우스 오른쪽 버튼으로 클릭하십시오 경로를 포함하십시오
- 고르다 구성 맥락 메뉴에서
- 그런 다음 포함 경로 대화 상자에서 도서관 탭
- 딸깍 하는 소리 외부 폴더 추가 ...
- CI의 로컬 사본을 탐색하고 라이브러리 디렉토리를 선택하십시오 (해당 클래스 파일을 보관할 때마다)
- 딸깍 하는 소리 완료
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);