1

Kohana 3.0でエラー ページをカスタマイズする方法についての完全な説明を見つけようとしてきましたが、これまでのところ幸運ではありませんでした。それで、 Kohana Guideが提供するソリューションに基づいて、誰でもその方法を教えてもらえますか?

完全な説明とは、クラスの場所、クラスの名前、拡張するクラス、完全なコード、エラーの 1 つのビューを意味します。

どうもありがとう。

4

1 に答える 1

1

http://kohanaframework.org/3.0/guide/kohana/conventionsを読むことをお勧めします。クラス名と Kohana のオートロード方法に基づいて、自分で作成する必要があるファイルを作成できます。私にとって Kohana の美しさは、それがあなたのためにすべてをしようとしないことです。そのため、私の意見では、ドキュメントを読むことは本当に重要です。

注: 特に Kohana 3.0 は使用していませんが、これは当てはまるはずです。

たとえば、パート1のコードは次のとおりです。

<?php defined('SYSPATH') or die('No direct access');

class HTTP_Response_Exception extends Kohana_Exception {}

Kohana は「カスケード ファイルシステム」を使用するため、 2に示すコードを

application/classes/ kohana/ exception.php

そのファイル内で、Kohana 例外ハンドラーを拡張します。

class Kohana_Exception extends Kohana_Kohana_Exception {

   public static function exception_handler(Exception $e)
   {
       ...
   }
}

表示されたルートは、下にあるアプリケーションのブートストラップに追加されます

アプリケーション/bootstrap.php

エラーがルーティングされているため、コントローラーがどうなるかがわかります。

Route::set('error', 'error/<action>(/<message>)', array('action' => '[0-9]++', 'message' => '.+'))
->defaults(array(
    'controller' => 'error_handler'
));

したがって、次の場所にコントローラーが作成されます。

アプリケーション/クラス/コントローラー/error_handler .php

これは次のようになります。

<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Error_Handler extends Controller_Template {

    ...

    public function action_404()
    {
        $this->template->title = '404 Not Found';
        // A view example
        $view = View::factory('error/404');
        $view->render();
        ...
    }
}

あなたの見解は(おそらく)以下の下に置かれます:

アプリケーション/ビュー/エラー/404 .php

ドキュメントが簡潔な理由は、同じ答えがすべての人に当てはまるわけではないためです。たとえば、ほとんどの人 (私が知っている) は独自のテンプレートなどを使用しています。

于 2012-07-17T13:33:16.330 に答える