2013-04-21 1 views
0

성능 문제가 있습니까? 기본적으로 필자는 다른 모델을 통해 들어올 데이터가있는 Views를 가질 것이고, 필자가 필요로하는 데이터를 다시 보내고 싶을 것이고, 실제로 CakePHP 모델이 돌려주는 배열이 마음에 들지 않을 것입니다.Model에서 객체를 인스턴스화하고 CakePHP에서 Model 값을 가진 객체를 반환하는 데 문제가 있습니까?

그래서 집계 데이터를 가져 와서 변환 한 다음 개체를 채우고 다시 컨트롤러로 보내서보기로 전달하십시오.

네, 추가 작업이지만 문제가 발생하지 않는다면 그만한 가치가 있다고 생각합니다.

이런 일을하는 데 어떤 문제가 있습니까? 감사.

+1

코드를 보여주십시오. 배열 구조가 변경되지 않습니다. 다른 사람들이 코드를 가지고 작업해야한다면 이것은 뒤에서 고통이 될 것입니다. 나는 지난 주에 이런 종류의 재미를 보았습니다. 데이터를 사용하려는 대상에 따라 다른 방법을 사용할 수 있도록 원래 구조를 복원해야 할 수도 있습니다. – burzum

+0

코멘트 주셔서 감사합니다. 아직 계획 단계에 코드가 작성되지 않았습니다. 이는 데이터를 표시하는보기에만 해당됩니다. DB에 글쓰기는 여전히 규칙적인 Cake가 될 것입니다. Dude 모델에서와 마찬가지로 function getDude ($ id) { $ dude = $ this-> find-> 등의 메소드가 있습니다. $ aggregatedata = etc. $ theDude = 새로운 DudeViewModel ($ dude, $ aggregatedata); return $ theDude; }' 내가하고 싶은 것의 기본적인 샘플. 감사. –

답변

1

개체로 변환하는 것은 오버 헤드가 적지 만 성능에 중요한 문제는 발생하지 않습니다. 그것은 burzum 같은 다른 사람들을 위해 애플 리케이션을 유지하는 것은 논평 수 있지만. 프레임 워크가 작동하는 방식을 보완하면 많은 이점을 잃을 것입니다. 예 : 객체를 뷰에 전달하면 도우미가 "마법"을 수행 할 수 없다는 것을 의미합니다. CakePHP의 모델이 배열을 반환한다는 사실을 싫어하면 아마도 CakePHP를 사용해서는 안됩니다.

+0

오, 걱정 마세요, 고마워! 도우미와 관련하여 많은 문제를 예견하지 말고, 수동으로 양식 도우미의 값을 수동으로 설정하는 작업이 조금 더 필요할 수 있지만 추가 필드가 이월 될 것이라고 생각하므로 정상적으로 처리해야한다고 생각합니다. 모델의 사용자 정의 저장 메소드. 대부분 오버 헤드에 관심이있었습니다. 다른 프레임 워크로 전환하는 것을 고려했지만 Cake 3.0을 계속 사용합니다. –

관련 문제