我们假设我在codeigniter上有这个课程:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller
{
function header(){
$this->load->model("options_model");
$data['options'] = $this->options_model->get_options();
$this->load->view("header", $data);
}
function content(){
$this->load->view("content");
// ...
}
function footer(){
$this->load->model("options_model");
$data['options'] = $this->options_model->get_options();
$this->load->view("footer", $data);
}
function index(){
$this->header();
$this->content();
$this->footer();
}
}
如您所见,我在页眉和页脚处重复调用options_model和方法get_options。然后,在索引I调用页眉和页脚。在这种情况下如何避免重复方法。或者像这样的案件的最佳方式是什么?
答案 0 :(得分:2)
您可以在application/config/autoload.php
中调用您的模型,它将包含在您的所有项目中
$autoload['model'] = array('options_model');
如果您想在单一控制器下上传。那么你可以在construct
中调用它 public function __construct()
{
parent::__construct();
$this->load->model("options_model"); // load it here??
}
添加functin
function
答案 1 :(得分:0)
为避免在两个标题中调用模型(get_options()),我希望您为它创建自定义帮助程序并直接在视图中调用它。
在https://www.codeigniter.com/user_guide/general/helpers.html
了解详情