如何在另一个php文件中调用控制器函数 - codeigniter

时间:2012-03-11 07:53:57

标签: php codeigniter

首先看看我的代码,而不是解释我的问题。

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Category extends CI_Controller {

function Category()
{
    parent::__construct();
    $this->load->model('category_model');
}
public function index()
{


}

public function _left()
{
    echo "side";
    $data['all_categories'] = $this->category_model->getallcategory();

    $this->load->view('include/left', $data);
}
}

这是我的类别控制器,我有一个left()函数,其中我列出了我网站左栏中的所有类别。

我只是想知道如何在另一个php文件中显示left()函数数据?

4 个答案:

答案 0 :(得分:3)

你真的不应该有一个你会反复调用的函数或控制器中的另一个文件......通常你会想把它们放在一个Helper库中或作为一个插件...

对于您创建的功能,我想知道您是否知道您可以拥有一个调用其他视图的视图。例如,您有一个模板视图,可以加载标题视图,控制器的$ data中引用的视图,左视图等......

我会阅读更多有关MVC以及它如何设置以及如何更多地布置文件的内容,因为它会为您节省大量的麻烦和一些杂乱的代码。

祝你好运!

答案 1 :(得分:0)

你调用create one function并从中调用许多视图。 或者从主视图创建一个主视图和其他顶视图,左视图,右视图和中心视图

答案 2 :(得分:0)

我会考虑编写一个帮助程序并在配置文件中自动加载

有关创建帮助程序的更多信息,请访问CodeIgniter: Create new helper?或查看CodeIgniter的用户指南。

答案 3 :(得分:0)

免责声明:这是一场咆哮

我知道每个人都想成为&#34;乐于助人&#34;但请,请停止使用&#34;帮助&#34;课程和&#34;帮手&#34;文件。模型得到自己的数据,他们坚持自己的数据,简而言之,他们帮助!!

例如:

请勿创建名为&#34; userhelper.php&#34;的文件,只需将方法放在名为&#34; user.php&#34;的文件中。这称为模型。你可能会说,在这一点上,&#34;如果我需要与我的项目的另一部分共享模型,或者只是在其他地方,但是让它看起来不同或什么或其他什么?&#34;那就是你要使用viewmodel的地方。视图模型中没有持久性信息,实际上它应该与模型明显不同,足以证明其存在的合理性。

要结束,只需将CRUD放入模型本身即可。不要建立&#34;经理&#34;或者&#34;助手&#39;或者你想把它们称为什么。

我不在乎CodeIgniter是否鼓励这样做&#34;帮助&#34;框架。它仍然是错误的,不是OOP。你最终会编写凌乱的代码并在整个地方重复工作。