簡體   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