위젯을 기반으로 웹 사이트를 구축 중입니다. 몇 가지 메소드, 모델 및 뷰가있는 일반적인 WidgetInstancesController 클래스가 있습니다. 이제이 클래스를 확장 할 수 있는지 알고 싶습니다. 즉, 각 위젯은 WidgetInstancesController 클래스를 확장하는 또 다른 클래스 여야합니다. 위젯 클래스를 app/widgets/
아래에 저장하고 싶습니다. 또한 이러한 위젯에는 특정 모델이 없으므로 (부모 WidgetInstance 모델을 사용하므로) 특정보기가있을 수 있습니다.CakePHP 확장 컨트롤러 (전용)
어떻게하면 좋을지 제안 해 주시면 감사하겠습니다.
문제없이 확장 할 수 있지만 컨트롤러는/app/컨트롤러에 있어야합니다. 위젯을 도우미 또는 구성 요소로 생각하는 것이 좋습니다. 컨트롤러 데이터를 덮어 쓸 필요가 있기 때문에 도우미가 분명히하지 않습니다. – JohnP
구성 요소 ... 잘 모르겠지만 요청 당 수십 개의 구성 요소를로드하는 것은 너무 어렵습니다 (사용자가 활성화 한 위젯 수에 따라 다름). 아니면'app/controllers/widgets /'에 위젯이있는 폴더를 만들고 부모 클래스 (WidgetInstancesControllers)를 확장하면됩니까? 또한 위젯의 컨트롤러에서 작업을로드하거나 호출하는 방법은 무엇입니까? 확장되는 클래스에서 모델 데이터에 액세스 할 수 있습니까? – linkyndy
구성 요소를 '필요한 경우'에로드하여 모든 조명을 유지할 수 있습니다. 전화를 건 컨트롤러의 인스턴스를 얻었으므로 모델에 액세스 할 수 있습니다. – JohnP