5

我想知道您是否可以在 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);
  }
?>

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

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

4

1 回答 1

10

在 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');
     }
}
于 2012-07-02T22:49:58.673 回答