簡體   English   中英

子文件夾中的Kohana 3.3控制器

[英]Kohana 3.3 controllers in subfolders

我有控制器

--controllers
  --Administrator
    -Base.php
    -Admin.php (extend Base.php)
-controller1.php
-controller2.php
-etc

我的路線看起來像這樣

    Route::set('administrator', 'Administrator(/<controller>(/<action>(/<id>)))')
->defaults(array(
    'directory' => 'Administrator',
    'controller' => 'base',
    'action'     => 'index',
));

嘗試加載此控制器,我收到消息未找到

怎么了?

更新!

class Controller_Administrator_Base extends Controller_Template {

    public $template = 'panel/index';

    public function action_index(){
        echo 'kupakonia';
    }
} // End Welcome

所有路線。 我嘗試了很多來自Google的建議,但沒有任何幫助,我寫了些東西,因為我無法更新此tobic,因為里面的代碼太多了。

仍然無法更新。

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

Route::set('administrator', 'administrator(/<controller>(/<action>(/<id>)))')
->defaults(array(
    'directory' => 'Administrator',
    'controller' => 'base',
    'action'     => 'index',
));

有任何建議嗎?

附言 仍然無法更新此主題:/ Wtf在tekst中必須比在代碼中更多的字符? 這是我在stackoverflow上的第一個asc。 很抱歉;)

您在Bootstrap文件中有兩條捕獲所有路由( defaultuser )。 這兩條路線完全相同。

同樣,由於這些路由全部被捕獲,並且路由的順序很重要,因此這意味着,如果“全部捕獲”路由是第一個,它將與所有URL匹配。

嘗試這個:

Route::set('administrator', 'administrator(/<controller>(/<action>(/<id>)))')
->defaults(array(
    'directory' => 'Administrator',
    'controller' => 'base',
    'action'     => 'index',
));

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

另一件事,全程跟蹤通常是不好的做法。 嘗試創建特定於Controllers路由。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM