Application

Eclipse + CakePHP 환경에서 코드 자동 완성(Code Complete) 구현하기

o테리o 2011. 2. 10. 14:44

CakePHP의 특수성 때문에 코드 자동 완성(Code Complete) 기능에 일부 제약이 있어서
코딩 작업시에 불편함을 겪는다.

이에 해결방법을 찾아보았다.

먼저 구글링한 URL 몇개는 다음과 같다.

http://groups.google.com/group/cake-php/browse_thread/thread/04b94b593714b394/9c71e02157bcaacd
http://mark-story.com/posts/view/code-completion-for-cakephp-in-eclipse
http://cakebaker.42dh.com/2007/10/12/code-completion-in-views-with-eclipse-pdt/

위 포스트만 봐서는 헷갈리는 부분도 있고 아직 완전히 이해는 되지 않아서
나름대로 테스트 해본 내용을 남긴다.


1. controller 또는 component에서 code complete

app_controller.php를 아래와 같이 수정하자. 

비슷한 몇가지 변형 테스트를 해 보았으나 작동되지 않는다.
아래의 형태를 그대로 지켜야 되는 듯...

아래는 controller에서 code complete 예


기본적인 component 등록 소스는 여기

/**
 * @var AclComponent
 */
var $Acl;
/**
 * @var AuthComponent
 */
var $Auth;
/**
 * @var CookieComponent
 */
var $Cookie;
/**
 * @var EmailComponent
 */
var $EmailComponent;
/**
 * @var RequestHandlerComponent
 */
var $RequestHandler;
/**
 * @var SecurityComponent
 */
var $Security;
/**
 * @var SessionComponent
 */
var $Session;


2. view에서 code complete

include를 해도 되고 view파일(*.ctp) 상단에 추가해도 된다. -> 하나의 파일에만 넣어주니까 되네... 원리가 도대체 뭐야!!!
아래와 같은 형식을 지켜주면 된다.
유사한 변형 테스트 안된다. 이유는 잘 모르겠다.


아래는 view에서 code complete 예


기본적인 helper 등록 소스는 여기

<?php
/* @var $html HtmlHelper */
/* @var $ajax AjaxHelper */
/* @var $form FormHelper */
/* @var $javascript JavascriptHelper */
/* @var $number NumberHelper */
/* @var $session SessionHelper */
/* @var $text TextHelper */
/* @var $time TimeHelper */
/* @var $paginator PaginatorHelper */
/* @var $rss RssHelper */
/* @var $xml XmlHelper */
?>



지금은 작업 시간을 줄이는 정도로 하고
헷갈리는 부분은 나중에 좀 구체화 되면 정리하도록 하자.

고고씽~~

출처 : http://chez.egloos.com/1871009