我有控制器
--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
所有路线。我尝试了很多来自谷歌的建议,但没有任何帮助,我写了一些东西,我无法更新这个 tobic becouse 里面的代码太多了。
仍然无法更新。
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',
));
有什么建议吗?
Ps. 仍然无法更新此主题:/Wtf 在 tekst 中的字符必须比在代码中的字符多吗?这是我在StackOverflow上的第一个ASC。很抱歉这个;)
在引导程序中有两个捕获所有路由(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
的路线。