繁体   English   中英

Codeigniter中的全局控制器?

[英]global controller in codeigniter?

Codeigniter中是否有一种方法可以定义可以在所有控制器中轻松调用的全局函数?

我有一个应用程序,它将显示已在该应用程序上注册的所有最新用户。

我现在正在做什么,我已经使用以下函数自动加载了模型Latest_model

function new_users()
{
  $this->db->select('*');

  $this->db->from('users');
  $this->db->order_by('id', 'DESC'); 
  $this->db->limit('5');

  $query = $this->db->get();
  return $query->result_array();

}

在所有控制器上,一开始我都称这种模型

$data['new'] = $this->Latest_model->new_users();

它有效,但我需要在所有功能中重复此操作。

那么实现这一目标的最佳方法是什么?

任何帮助将不胜感激

您始终可以使用新功能扩展默认控制器。 Codeigniter的文档是一个很好的起点。

简而言之,您应该在application/core/文件夹下创建名为MY_Controller的基本控制器。 然后,您可以在该文件中放置一些如下代码:

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

class MY_Controller extends CI_Controller {

    protected $data = [];

    function __construct() {
        parent::__construct();

        $this->data['new'] = $this->Latest_model->new_users();
    }
}

然后,您可以从所有控制器使用$this->data访问data数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM