2012-01-20 2 views
0

CakePHP 프레임 워크는 계층화 된 구조입니다. 내 질문 :CakePHP에서 쿼리 기능을 구현하는 곳은 어디입니까?

(이론적으로) 데이터 쿼리 기능을 구현하는 가장 좋은 장소는 어디입니까? 모델이나 컨트롤러에서?

"데이터 쿼리 기능"이란 getItemsWithSomeInfo($idItem) 등의 기능을 의미하며 동작이 아닌 기능을 말합니다.

현재 컨트롤러에서 이러한 기능을 구현하고 있지만이 기능 (또는 메서드)이 모델 계층에 구현 된 다른 프레임 워크가 있다고 생각합니다.

나는 Stackoverflow에서 검색하고 비슷한 문제 (Where/how to store custom functions (or methods) in CakePHP)를 발견했지만 (제 생각에는) 좋은 대답이 아닙니다.

답변

4

모델에서 컨트롤러에 이러한 기능을 추가하는 것이 좋습니다. 모든 데이터 관련 코드는 모델에 있어야합니다. 장기적으로는 리팩터링이나 테스트에있어 항상 더 좋은 아이디어입니다. 코드를 찾을 위치를 정확히 알고 있습니다. 그리고 다른 동작/컨트롤러에 복사 & 붙여 넣기없이 다시 사용할 수 있습니다. 당신이 당신의 해당 모델의 기능을 다음 컨트롤러에서 사용

+0

안녕하세요 @ 서드 어어, 당신의 대답을 좋아합니다. 그러나 나는 어떤 응답을 확실히하고 싶다. 인사말! – Lobo

2

장소 :

예 :

public function getItemsWithSomeInfo($idItem) { 
    // your code 
} 

ModelsController.php에서

을 Model.php에서
$this->Model->getItemsWithSomeInfo($id); 
+0

좋아요, 나는 정확하다고 생각합니다. – Lobo

관련 문제