TIP게시판

제목 ci3 이클립스 자동완성 되게 하는법
글쓴이 작성시각 2016/02/04 10:31:12
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 15302   RSS

 안녕하세요.

 저는 IDE 이클립스 pdt 사용하는데 이클립스는 확장된 소스까지 오토컴플리트 되지 않는거 같아요.

그래도 대충 만족하고 사용하고 있었는데, 어제 phpStom 깔긴했는데 익숙치 않아서 당분간 사용법 익히는건 보류해야

할거 같아요 아쉬운대로 이클립스를 사용해야 하는데, 전부 autocomplete 되진 않아도 어느정도 되길 바랬습니다.

 제 경우엔 2버전은 $this->db-> ... 하면 s만 치면 select등등 나왔는데, 3버전되면서 안되더라고요.

우선 이유는 기존 2버전엔 eval()함수를 사용했는데 3버전은 eval함수를 사용하지 않았더라고요.

그리고 2버전때엔 CI_DB_active_record 인데 3버전은 CI_DB_query_builder 네요...

 각설하고 팁 이제 알려드릴게요.

참고자료

   1. http://mytory.net/archives/2379/ 

   2. http://tutsnare.com/netbeans-autocomplete-or-code-completion-for-codeigniter/

1. 우선 autoComplete(이후부터 자동완성이라고 할게요.)할 system폴더를 복사해주세요.

2. 자동완성을 할 프로젝트를 만들어주세요. (복사한 경로로 하셔야겠죠 .. ;;) (복사한건 실제로 system폴더로 정하시면 아니 아니 아니되요~! 자동완성용으로 만 쓸거임다!)

3. 그리고 자동 완성될 프로젝트에 인클루드패스에 프로젝트카테고리에 추가해주세요.

4. 이제부터 중요.! 복사한 자동완성 프로젝트에서 core/Controller.php를 열어주세요.

5. core/Model.php을 열어주세요.

6. database/DB.php를 열어주세요.

7. core/Controller.php에 추가

/**
 * @property CI_DB_query_builder $db
 * @property CI_DB_forge $dbforge
 * @property CI_Benchmark $benchmark
 * @property CI_Calendar $calendar
 * @property CI_Cart $cart
 * @property CI_Config $config
 * @property CI_Controller $controller
 * @property CI_Email $email
 * @property CI_Encrypt $encrypt
 * @property CI_Exceptions $exceptions
 * @property CI_Form_validation $form_validation
 * @property CI_Ftp $ftp
 * @property CI_Hooks $hooks
 * @property CI_Image_lib $image_lib
 * @property CI_Input $input
 * @property CI_Language $language
 * @property CI_Loader $load
 * @property CI_Log $log
 * @property CI_Model $model
 * @property CI_Output $output
 * @property CI_Pagination $pagination
 * @property CI_Parser $parser
 * @property CI_Profiler $profiler
 * @property CI_Router $router
 * @property CI_Session $session
 * @property CI_Sha1 $sha1
 * @property CI_Table $table
 * @property CI_Trackback $trackback
 * @property CI_Typography $typography
 * @property CI_Unit_test $unit_test
 * @property CI_Upload $upload
 * @property CI_URI $uri
 * @property CI_User_agent $user_agent
 * @property CI_Validation $validation
 * @property CI_Xmlrpc $xmlrpc
 * @property CI_Xmlrpcs $xmlrpcs
 * @property CI_Zip $zip
 */
class CI_Controller { .... }

8. core/Model.php에 추가

/**
 * @property CI_DB_query_builder $db
 * @property CI_DB_forge $dbforge
 * @property CI_Config $config
 * @property CI_Loader $load
 * @property CI_Session $session
 */
class CI_Model { ... }

9. database/DB.php에 수정

180라인 쯤...
class CI_DB extends CI_DB_query_builder { }를 주석처리하시고,

eval('class CI_DB extends CI_DB_query_builder { }');

189라인쯤...
class CI_DB extends CI_DB_driver { }를 주석처리하시고,

eval('class CI_DB extends CI_DB_driver { }');

 

기우에서 하는말인데 오토컴플리트되는 복사할 경로를 시스템 폴더로 지정하지 마시고,

복사해서 자동완성으로만 사용하세요...

 

 다음글 aptana 에서 ftp 저장시 오류원인 (4)
 이전글 Cloud9 (https://c9.io) PHP7로 업... (2)

댓글

kaido / 2016/02/04 10:50:52 / 추천 0

와우~ 감사합니다. 

 

압타나도 비슷한 구조이나 찾아봐야 겠네요 ㅎ