CakePHP 후기 Programming/Web 2011. 1. 12. 23:30
일단 몇일동안 CakePHP를 써본 후기를 올린다. 아직 많이 사용 해 본것도 아니고 홈페이지를 다 만든것도 아니지만 일단 조금 아쉬운 점이 있어 올린다.

CakePHP는 유명한 웹 프레임워크인 RoR(Ruby on Rails)의 기능을 본따 php로 만든 것이다. 문제는 php자체가 루비와는 다르게 웹 언어로부터 출발하였고, 프레임워크를 염두하고 만든 것이 아니기 때문에 쓰다 보면 좋을 때도 있지만 좀 귀찮을때도 있다. 그냥 쌩으로 코딩할때는 별 고민없이 프로그래밍한걸 CakePHP내장 함수들을 써서 다듬으려니 꽤나 귀찮다. 특히 디비에 쿼리날릴때 제일 이런 느낌이 많이든다. 원래대로라면 MySQL의 내장함수들과 프로시져를 포함하게 쿼리를 날릴텐데 그걸 전부 php안에서 해야되서 제약이 많아졌다. MySQL의 강력한 기능을 못쓰는 기분. 

게다가 CakePHP만의 강력한 기능들은 ajax를 구현할때는 별로 또다른 강력한 기능을 하지 못한다. 원래 기본적으로 form의 어느 필드가 문제인지 알려주는 validate 기능도 ajax에서는 실제 폼으로 전송하는게 아니니까 내부에서 validate을 하고 결과 에러메세지를 데이터로 전송해야 한다. 물론 미리 validate하였기 때문에 save하는 함수에도 validate을 하지는 말라고 알려줘야 한다. 뭐 그래도 조금은 편하긴 하지만 생각했던것 만큼 엄청난 일을 줄여주거나 하지는 않는것 같다. 관련 기능이 있는 Helper를 쓰면 나을 것 같기도 한데, 기본으로 추가되어 있는게 아니기 때문에 무슨 Helper가 좋은지도 모르겠다. 

또한 다른 문제는 성능이다. 같은 기능을 생으로 구현했을때와 CakePHP를 썻을때 성능차이가 꽤나 많이 난다. 사용자가 매우 없는 상태라 원래는 누르면 바로바로 받아진 ajax데이터가 꽤나 오래건린다. 

하지만 좋은 점도 많다. 일단 마음에 든건 MVC패턴과 레이아웃 기능, 그리고 validate기능이다. 딱 이정도 기능만 있고 빠른 프레임워크가 있으면 많이 좋을 것 같다. 아마 Codeigniter 가 이런데 좋은 것 같은데 알아봐야겠다.