0

我是 kohana 的新手,正在开发一个简单的应用程序,它使用来自http://blog.mixu.net的 useradmin 模块。我有,我认为,一个理解问题。目前,当非管理员用户登录时,action_index 会重定向到用户/配置文件。我想改为转到一个名为 home 的控制器。我想重定向到 home/index.php

我试过简单地更改重定向,但这不起作用。我怀疑我需要对路线做一些事情才能让我回家/索引,但我无法弄清楚我应该做什么。

如果有人能在这里引导我朝着正确的方向前进,我将不胜感激。

4

1 回答 1

0

你说...

我想重定向到 home/index.php

不是在科哈纳,你没有。Kohana 使用前端控制器模式,这意味着您的整个应用程序通过框架附带的单个 index.php 文件运行。你所说的你想要的,是做不到的。无需使用 Kohana 访问 home/index.php。相反,您可以通过 3 个步骤实现:

  1. 将一个名为 home 的新控制器保存到 application/controllers/home.php
  2. 创建一个路由并将其放在 application/bootstrap.php 中的默认路由之上
  3. 从您的其他控制器重定向到此路由。

您的家庭控制器将是这样的:

class Controller_Home extends Controller 
{
    public function action_index()
    {
       echo 'Home Controller Index method';
    }
}

为了测试上面的控制器,你可以使用如下的路由。您可以将它放在默认路由上方的 application/bootstrap.php 中(靠近文件底部。)

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

然后,您可以通过浏览到 your_app_url/home 或 your_app_url/home/index ... 来访问家庭控制器的 action_index 方法。

但我们正在超越自己。在您尝试之前,我强烈建议您阅读Kohana 3.2 中控制器的工作原理以及Kohana 3.2 中的路由工作原理以及一般用户指南页面(不要错过级联文件系统!)。

接下来,下载 Kohana 3.2 源文件,创建一个虚拟的空项目并创建一个带有一条新路由的新控制器,并确保在弄乱 mixu.net 的东西之前让它工作。那家伙很摇滚,但他很先进。

于 2012-11-01T04:23:29.433 回答