문제

나는 프로젝트를위한 새로운 기본 컨트롤러를 소급 적으로 만들려고 시도하는 데 약간의 혼란이 있습니다. 내가 착각하지 않았다면, 내가해야 할 일은 파일을 만드는 것뿐입니다. application/libraries ~라고 불리는 MY_baseController.php 다음을 포함합니다.

class baseController extends Template_Controller
{
  public function __construct()
  {
    parent::__construct();
  }
}

그런 다음 다른 컨트롤러를 다시 작성하여 확장하십시오 baseController 대신에 Template_Controller:

class Frontpage_Controller extends Template_Controller

에게

class Frontpage_Controller extends baseController

그러나 내가 이것을 할 때, 접근 Frontpage_Controller 다음을 알립니다.

클래스 'BaseController'를 찾을 수 없습니다 ...

내가 여기서 무엇을 놓치고 있습니까?

도움이 되었습니까?

해결책

약간의 충화 후, 나는 다음이 내 해결책이라고 생각합니다 ...

이동하다 MY_baseController.php ~에서 application/libraries 그리고 들어갑니다 application/controllers. 이름을 바꿉니다 base.php 다음 줄을 변경하십시오.

class baseController extends Template_Controller

~ 안으로

class Base_Controller extends Template_Controller

이제 프론트 페이지 컨트롤러 내에서 확장하십시오 Base_Controller 대신에 baseController.

다른 팁

Kohana 컨벤션을 따라 모든 것이 올바르게 올바르게 있는지 확인하십시오! 모델 도우미 및 라이브러리와 관련하여 비슷한 것이 있습니다.

또한 기본 애플리케이션 컨트롤러 폴더를 깨끗하게 유지하려면 응용 프로그램을 위해 Kohana 모듈을 만들고 모든 템플릿 및 기타 확장 컨트롤러를 사용하여 기본 컨트롤러와 별도로 유지하는 것이 좋습니다.

구성 파일에 모듈을 추가하는 것을 잊지 마십시오!

나는 이것이 오래된 질문이라는 것을 알고 있지만, 나는 한마디에 넣을 것이라고 생각했다. 시스템 폴더에서 _core로 접미사를 확장 할 때만 필요하므로 파일 이름에서 My_ 접두사를 제거하면됩니다. 예를 들어, 파일입니다

class Controller extends Controller_Core

my_controller.php로 명명됩니다.

이 경우 파일 BaseController.php의 이름을 지정하고 라이브러리 폴더에 넣는 것이 작동합니다.

공격은 없지만 Kohana 3.1과 함께 일할 수 있도록 컴퓨터에 머리를 두드려야했습니다. 마침내 템플릿 컨트롤러를 확장하기위한 구문은 다음과 같아야한다는 것을 알아 냈습니다.

class Controller_Base extends Controller_Template
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top