0

私はkohanaを学んでおり、ver:3.3.0を使用しています。

次のエラーが表示されます。

Kohana_HTTP_Exception [ 404 ]: The requested URL calendar was not found on this server.
SYSPATH\classes\Kohana\Request\Client\Internal.php [ 79 ]

SYSPATH\classes\Kohana\Request\Client\Internal.php [ 79 ]
SYSPATH\classes\Kohana\Request\Client.php [ 114 ] » Kohana_Request_Client_Internal->execute_request(arguments)
SYSPATH\classes\Kohana\Request.php [ 990 ] » Kohana_Request_Client->execute(arguments)
DOCROOT\index.php [ 118 ] » Kohana_Request->execute() 

入力する URL:

(//localhost/organizer_tst/calendar/)

私のファイル:

application\classes\Controller\Calendars\Calendar.php:

class Controller_Calendar extends Controller
{

    public function action_index()
    {
        $tst = new Model_Calendar();
               echo $tst->testing("LOLLOLOOLL");              
    }
}

アプリケーション\クラス\モデル\calendar.php:

Class Model_Calendar extends Model
{
    public function testing($param)
    {
        $tst ="I want to display it: "."$param";
        return $tst ;        
    }   
}

ブートストラップ.php:

Kohana::init(array(
    'base_url'   => '/organizer_tst/',
));

Route::set('something', 'calendar(/<directory>(/<controller>(/<action>(/<id>))))')
    ->defaults(array(
        'directory'  => 'Calendars',
        'controller' => 'Calendar',
        'action'     => 'index',
    ));

Route::set('default', '(<controller>(/<action>(/<id>)))')
    ->defaults(array(
        'controller' => 'welcome',
        'action'     => 'index',
    ));

エラーページで「Environment->included files」をチェックすると、コントローラーファイルが表示されます:APPPATH\classes\Controller\Calendars\Calendar.php

この場合、コントローラーが追加のディレクトリにない場合、すべてが機能しています: application\classes\Controller\Calendars\Calendar.php

Xampp をルート ディレクトリとして使用しています: D:\xampp\htdocs で、プロジェクトにエイリアスがあります: Alias /organizer_tst/calendar "D:\xampp\htdocs\organizer_tst"

このエラー例外が発生する理由を教えてください。

4

2 に答える 2

2

Kohana の命名規則は、クラスに名前を付けて配置する方法を示しています。

Controller_Calendars_Calendarこの場合、Kohana はlocationという名前のクラスを探していますapplication/classes/Controller/Calendars/Calendar.php。ファイルは見つかりますが、クラスは見つかりません。クラスに名前を付けるController_Calendars_Calendarか、ファイルを次の場所に移動する必要がありますapplication/classes/Controller/Calendar.php

于 2013-08-16T09:39:13.113 に答える
0

CONtroller : blog.php blog.php には、次のように定義されたメソッドがあります。

public function action_new()
    {
        $view =View::factory('blog/new');
        $this->response->body($view);
    }

ビュー:「ブログ」という名前のフォルダーと、ブログ内に new.php という名前のファイルがあります

この順番でファイルをチェックしてください。

于 2014-03-20T07:20:05.937 に答える