[英]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文件中有兩條捕獲所有路由( default
和user
)。 這兩條路線完全相同。
同樣,由於這些路由全部被捕獲,並且路由的順序很重要,因此這意味着,如果“全部捕獲”路由是第一個,它將與所有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.