2012-01-16 2 views
0

사용자 모델, 프로필 모델 및 사용자 컨트롤러가있는 플러그인이 있습니다.이 사용자 모델에는 프로필 모델이 연결되어 있습니다. 내 기본 모델 폴더 (응용 프로그램 아래)에서, 나는 사용자 모델과 사용자 컨트롤러를 가지고 있습니다 (여기 프로필과 연관되지 않았습니다). 때로는 사용자 모델이 프로필 모델과 관련이 없다는 오류가 표시됩니다. 또한 때로는 오류 - "사용자 컨트롤러에 누락 된 작업 로그 아웃"이 표시됩니다. app/controller/userscontroller에서 로그 아웃 작업을 제공했지만 해당 방법은 myplugin/usercontroller에서 사용할 수 없습니다. 나는 cakephp2.0을 사용하고 있습니다 .. 어떻게이 문제를 해결할 수 있습니까? cakephp가 모델과 컨트롤러의 캐시를 설정하는 방법은 무엇입니까? 캐시를 완전히 비활성화하고 싶지 않습니다.메인 모델/컨트롤러와 cakephp 플러그인 모델/컨트롤러 캐시 문제

답변

2

이 문제도 발생했습니다. 기본적으로 Cake는 동일한 클래스 이름을 가진 컨트롤러를 지원하지 않는다는 사실에 기인합니다. 따라서 플러그인 및 앱 수준에서 UsersController 컨트롤러를 사용하면 캐싱 및 일부 구성 요소 (예 : Auth 구성 요소)에 문제가 발생할 수 있습니다.

다양한 수준의 Cake 응용 프로그램에서 동일한 클래스 이름을 지원하면 Cake 3.0에서 PHP 5.3이 필요합니다. PHP 5.3은 중복 클래스 이름을 올바르게 처리하는 데 필요한 네임 스페이스를 지원합니다.

2.0 브랜치가 베타 버전이 아니기 때문에 Cake 3.0이 발표되지 않을 때, 저는 플러그인 이름을 내 컨트롤러, 뷰 및 모델에 선행하여 플러그인을 리팩토링했습니다.

따라서 PluginUserModel이되고 UsersControllerPluginUsersController이되었다. 모델 이름을 사용하는 모든보기 및 변수를 업데이트해야하기 때문에 약간 번거 롭습니다.

My original question

정확히,이 ... 파일을 설치 했 위해 임 찾고 무엇인가 .. 비슷한 질문이 제기 된 케이크 버그 추적기에 대한 몇 가지 링크, 당신은

+0

고마워 몇 가지 배경에 관심을 가져야 포함되어 있습니다 버그 (http://cakephp.lighthouseapp.com/projects/42648/tickets/2378)에 나와 있습니까? – binoy

+1

그래도 문제가 해결되지 않는 것 같습니다. 'cake_core_file_map'은 여전히 ​​컨트롤러에 대한 충돌하는 참조로 채워지고 아마도 다른 문제를 일으킬 것입니다. 이 보고서 (http://cakephp.lighthouseapp.com/projects/42648/tickets/1884)는 수정 사항을 자세히 설명하고 일부 개발자의 답변을 제공합니다. 아마도 컨트롤러, 뷰 및 모델을 리펙토링하는 것이 가장 안전한 방법 일 것입니다. – mensch

+0

다시 한번 감사합니다 – binoy