0

プロジェクトの新しいベースコントローラーをさかのぼって作成しようとすると、少し混乱します。私が間違っていない場合、私がする必要があるのは、以下を含む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'が見つかりません...

ここで何が欠けていますか?

4

4 に答える 4

2

少しいじった後、私は以下が私の解決策だと思います...

MY_baseController.phpからapplication/librariesおよびに移動しapplication/controllersます。名前をbase.phpに変更し、次の行を変更します。

class baseController extends Template_Controller

の中へ

class Base_Controller extends Template_Controller

これで、Frontpage Controller内で、Base_Controllerの代わりに拡張しますbaseController

于 2009-08-20T23:31:34.170 に答える
0

これは古い質問であることはわかっていますが、一言言いたいと思いました。システム フォルダーで _Core というサフィックスが付いたクラスを拡張する場合にのみ必要になるため、ファイル名から MY_ プレフィックスを削除するだけです。たとえば、

class Controller extends Controller_Core

MY_Controller.php という名前になります。

この場合、ファイルに baseController.php という名前を付けて、ライブラリ フォルダーに配置するだけで機能します。

于 2009-09-14T20:32:54.307 に答える
0

すべてが適切に自動ロードされるように、必ず Kohana Conventions に従ってください。モデル ヘルパーとライブラリに関連する同様のものがあります。

また、メインのアプリケーション コントローラー フォルダーをきれいに保ちたい場合は、アプリケーション専用の Kohana モジュールを作成し、そこにすべてのテンプレートとその他の拡張コントローラーを配置して、メイン コントローラーとは別にしておくことをお勧めします。

モジュールを構成ファイルに追加することを忘れないでください!

于 2009-08-23T01:54:15.323 に答える
0

問題はありませんが、Kohana 3.1 で動作させるには、コンピューターに頭をぶつける必要がありました。Template Controller を拡張するための構文は次のようにする必要があることが最終的にわかりました。

class Controller_Base extends Controller_Template
于 2011-07-17T10:23:52.137 に答える