【问题标题】:Global Query Data全局查询数据
【发布时间】:2015-12-12 22:21:24
【问题描述】:

所有控制器都需要一部分代码(查询),它们将被传递到视图中进行显示。

我是否知道是否可以在一个文件中声明它们以便我可以直接从我的视图中引用它们?无需在每个控制器的 _construct 中声明它们。

我正在使用 codeigniter3,这是一个示例代码:

MainController.php

public function index(){
      $data['userCampaign'] = $this->Usermodel->getCampaign();
}

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    在父控制器类中将此函数声明为protected

    【讨论】:

    • 我的主类扩展了 CI_Controller,所以你的意思是我需要在核心文件中声明它?
    【解决方案2】:

    没有。不知道有没有这样的方法。

    你想调用__construct() 中的函数,或者你必须在控制器中声明函数并回调它。 $this->check_session()

    【讨论】:

    【解决方案3】:

    在您的项目中创建默认控制器,扩展 CI_Controller 和您的 all controller 扩展 new controller 并在您的 new controller__construct(); 函数中添加此代码。

    【讨论】:

    • 您的意思是创建一个默认控制器,然后将查询放入它的 _constructor() 函数中,那么我的 MainController 会扩展这个默认控制器吗?但是我也需要在每个控制器中使用代码,对吗?我很困惑......
    • 不,当您将此代码添加到通用控制器__construct(); 函数时,它将在所有控制器中可用
    • @KarlWong 你测试了吗?
    • 我找到了另一个正在创建助手的解决方案,但您的解决方案也可以。
    猜你喜欢
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多