0

我刚刚开始使用这个框架,而且我对 MVC 概念还很陌生。现在我正在关注官方文档上的教程,我的控制器看起来像这样:

class Pages extends CI_Controller {

public function view($page = 'home')
{
    if ( ! file_exists('application/views/pages/'.$page.'.php'))
        {
            // Whoops, we don't have a page for that!
            show_404();
        }

        $data['title'] = ucfirst($page); // Capitalize the first letter

        $this->load->view('templates/header', $data);
        $this->load->view('pages/'.$page, $data);
        $this->load->view('templates/footer', $data);
}

public function goto($page)
{
    if ( ! file_exists('application/views/pages/'.$page.'.php'))
        {
            // Whoops, we don't have a page for that!
            show_404();
        }

        $data['title'] = ucfirst($page); // Capitalize the first letter

        $this->load->view('templates/header', $data);
        $this->load->view('pages/'.$page, $data);
        $this->load->view('templates/footer', $data);
}

}

我还有一个带有主页的 home.php 文件:

<?php $this->load->helper('url');?>
<div>
    <p>This is the home page</p>
</div>
    <a href="<?php echo base_url()./index.php/pages/goto/about;?>">About</a>
<div id="content">
    <form method="post" action="">
        <div>
            <label for="username">Username:</label>
            <input type="text" name="username"/>
        </div>
        <div>
            <label for="password">Password:</label> 
            <input type="password" name="password"/>
        </div>
        <div>
            <input type="submit" value="Login"/>
        </div>
    </form> 
</div>

到目前为止一切正常,但我如何添加和使用新链接?我的意思是,假设您在主页中有一个链接列表;当用户单击其中一个链接时,我应该如何处理请求?我应该让他们通过“页面”控制器吗?我应该为网站的每个页面创建一个新的控制器吗?

在第一种情况下(对我来说这听起来更合乎逻辑),如何根据用户点击的链接正确重定向用户?

任何帮助,将不胜感激。

4

1 回答 1

1

我应该如何处理请求?

标准方式是controller/methods/,但当然你可以使用路由器。路由器信息

我应该让他们通过“页面”控制器吗?

依靠。这些pages与控制器有关吗?如果是,则包括。如果没有,就不要。重点是,将相关内容集中在一个控制器下。你不会想在page控制器中说管理功能。你?

我应该为网站的每个页面创建一个新的控制器吗?

简单的回答。不,原因在上面。

在第一种情况下(对我来说这听起来更合乎逻辑),如何根据用户点击的链接正确重定向用户?

又是第 1 点。

于 2012-11-10T14:55:59.920 回答