2012-01-03 2 views
1

자체 개발 된 Cake 플러그인의 캐시를 비활성화하고 싶습니다. 이것이 가능한가요, 그렇다면 어떻게해야합니까? 그 이유는 이전의 question of mine과 관련이 있는데, 중복 컨트롤러 이름이 1.3에서 정상적으로 작동하는 응용 프로그램의 일부를 손상시킵니다.Cake 2.0 플러그인 캐시를 비활성화 하시겠습니까?

나는 하나 Core.php에서 다음 옵션을 설정하여 캐시를 해제 할 수 있습니다 알고 : 나는 beforeFilter 또는 beforeRender 방법 PluginAppController.php에서 동일한 작업을 수행 할 수있을 것이라고 생각

Configure::write('Cache.disable', true); 

을하지만, 그것은 작동하지 않는 것 같습니다.

PluginAppController에서 수행 할 수 있는지 또는 다른 옵션이 있는지 알 수 있습니까? 전체 캐시를 사용하지 않도록 설정하면 응용 프로그램의 나머지 부분이 상당히 느려지므로 매우 바람직하지 않습니다.

답변

0

이것은 애플리케이션 아키텍처가 좋지 않은 것 같습니다. 캐시를 비활성화하지 않아도됩니다. 큰 문제에 대해서는 붕대처럼 들립니다. 단순히 컨트롤러 중 하나의 이름을 변경하거나 문제를 방지하기 위해 앱에 의사 네임 스페이스 명명 규칙을 추가하는 것이 어떻습니까?

+0

아마도 아키텍처가 좋지는 않지만 필자는 완전히 다른 엔티티 인 노출 플러그인을 사용하고있었습니다. 당신 말이 맞아요, 나는 캐시를 비활성화해서는 안됩니다. 내가 실제로 문제가되는 모든 컨트롤러의 이름을 바꿀 때까지 그것은 실제로 붕대입니다. – mensch

+0

이들은 별도의 엔티티입니다. 그러나 케이크는 응용 프로그램을 실행할 때 사용되는 모든 클래스를로드합니다. CakePHP는 네임 스페이스를 사용하지 않기 때문에 5.3 이전에는 PHP가 네임 스페이스를 지원하지 않았기 때문에 PHP가 케이크가 아니기 때문에이 제한이 발생합니다. 따라서 플러그인과 기본 앱은 개념적으로 분리되어 있지만 프로그래밍 언어의 한계에 영향을 받기 쉽습니다. –

+0

예, Cake 버그 추적기의 다양한 문제점 보고서에서 알 수 있습니다. 필자의 원래 질문은 여전히 ​​유효하지만 특정 컨트롤러의 Cake 캐시를 비활성화 할 수 있습니까? – mensch

관련 문제