CodeIgniter中的函数重载

Nic*_*rin 5 php overloading codeigniter

我想知道你是否可以在PHP中重载函数,特别是在CodeIgniter中.例如,在我的控制器中,如果我要加载一个视图,但无论变量是作为参数提供还是留空,它都会有所不同.这是我尝试的概念,这是我在其他语言中学到的:

<?php
  function load_view(){
     $this->load->view('view');
  }

  function load_view($var){
    $this->load->model('data');
    $data = $this->data->getInfo($var);
    $this->load->view('view', $data);
  }
?>
Run Code Online (Sandbox Code Playgroud)

但是当我尝试这个时,我收到错误"致命错误:无法重新声明Controller :: load_view"......

任何帮助将不胜感激.提前致谢!

Dou*_*ngs 9

在PHP中重载函数使用可选参数.一个例子可能是:

function load_view($var = null) {
     if (!empty($var)) {
         $this->load->model('data');
         $data = $this->data->getInfo($var);
         $this->load->view('view', $data);
     } else {
         $this->load->view('view');
     }
}
Run Code Online (Sandbox Code Playgroud)