Php Kohana 3:带子目录的路由错误,控制器不存在

Php Kohana 3:带子目录的路由错误,控制器不存在,php,routing,kohana,Php,Routing,Kohana,因此,我试图建立一个带有子目录的路由,并遵循Kerkness wiki指南,但不断出现错误。如果有人能指出我做错了什么,我将不胜感激 守则: Route::set('default', '(<directory>(/<controller>(/<action>(/<id>))))', array('directory' => '.+?')) ->defaults(array( 'directory' =>

因此,我试图建立一个带有子目录的路由,并遵循Kerkness wiki指南,但不断出现错误。如果有人能指出我做错了什么,我将不胜感激

守则:

Route::set('default', '(<directory>(/<controller>(/<action>(/<id>))))', array('directory' => '.+?'))
    ->defaults(array(
        'directory'  => 'admin',
        'controller' => 'main',
        'action'     => 'index',
    ));
文件:

/application/classes/controller/admin/weather/feedback.php
class Controller_Admin_Weather extends Controller_Admin_Base {
错误:

 ReflectionException [ -1 ]: Class controller_admin_weather does not exist

天气需要是控制器,而不是反馈。在admin文件夹中创建一个weather.php,并将控制器作为controller\u admin\u weather,然后是action\u反馈

天气需要是控制器,而不是反馈。在admin文件夹中创建一个weather.php,并将控制器作为controller\u admin\u weather,然后是action\u反馈

正如@mikelbring所说,您的控制器类命名错误。该文件中的类应称为
Controller\u Admin\u Weather\u Feedback

你的路线真的需要这么多可选路段吗? 也;如果URL中没有可变元素,您可以使用如下默认值:

Route::set('my_route_name', 'admin/weather/feedback')
    ->defaults(array(
        'directory'  => 'admin/weather',
        'controller' => 'feedback',
        'action'     => 'index',
    ));
如果您的类位于
/application/classes/controller/admin/weather.php
中,并且具有
操作反馈(…)
方法,则可以使用以下路径

Route::set('my_route_name', 'admin/weather/feedback')
    ->defaults(array(
        'directory'  => 'admin',
        'controller' => 'weather',
        'action'     => 'feedback',
    ));

正如@mikelbring所说,您的控制器类命名错误。该文件中的类应称为
Controller\u Admin\u Weather\u Feedback

你的路线真的需要这么多可选路段吗? 也;如果URL中没有可变元素,您可以使用如下默认值:

Route::set('my_route_name', 'admin/weather/feedback')
    ->defaults(array(
        'directory'  => 'admin/weather',
        'controller' => 'feedback',
        'action'     => 'index',
    ));
如果您的类位于
/application/classes/controller/admin/weather.php
中,并且具有
操作反馈(…)
方法,则可以使用以下路径

Route::set('my_route_name', 'admin/weather/feedback')
    ->defaults(array(
        'directory'  => 'admin',
        'controller' => 'weather',
        'action'     => 'feedback',
    ));