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

Posted

技术标签:

【中文标题】如何在另一个 php 文件中调用控制器函数 - codeigniter【英文标题】:How to call controller function in other php file - codigniter 【发布时间】:2012-03-28 01:02:09 【问题描述】:

首先看看我的代码,然后我会解释我的问题。

<?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() 函数数据?

【问题讨论】:

【参考方案1】:

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

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

我会阅读更多关于 MVC 以及它是如何设置以及如何布置文件的更多信息,因为它会为你省去很多麻烦和一些杂乱的代码。

祝你好运!

【讨论】:

【参考方案2】:

您调用创建一个函数并从中调用多个视图。 或创建一个主视图和其他顶、左、右、中心视图并从主视图加载

【讨论】:

【参考方案3】:

我会考虑编写一个帮助程序并将其自动加载到您的配置文件中

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

【讨论】:

【参考方案4】:

免责声明:这是一个咆哮

我知道每个人都在努力“提供帮助”,但请,请,请停止使用“帮助”类和“帮助”文件。模型获取自己的数据,他们持久化自己的数据,简而言之,他们提供帮助!

例如:

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

最后,只需将 CRUD 放入模型本身。不要建立“经理”或“助手”或任何你想称呼他们的地狱。

而且我不在乎 CodeIgniter 是否通过它的“助手”框架来鼓励这一点。它仍然是错误的,不是 OOP。你最终会写出乱七八糟的代码并到处重复工作。

【讨论】:

以上是关于如何在另一个 php 文件中调用控制器函数 - codeigniter的主要内容,如果未能解决你的问题,请参考以下文章

在另一个控制器中调用控制器函数

PHP中怎么才能调用JS文件里的一个函数!

Cgo 可以调用在另一个目录中声明的 C 函数吗?

如何查看在另一个程序中调用的函数[关闭]

调用在另一个命名空间中定义的 PHP 函数,不带前缀

PHP如何把数据写入JSON文件并在另一PHP文件读取JSON数据?