如何将多个变量传递给其他模型,如PHP中的变量


How do I pass multiple variables to other model like a variable in PHP

我用MCV模型制作1页视差网站,我想将页面的所有数据发送到index_view load->view($filename,$data);作为1 $data。我可以发送所有的数据作为load->view($filename,$data_index,$data_about,$data_services,$data_contact);,但我认为这种方式不是很好。我想展示我的网站结构。

我有Index_model.php(模型),index.php(控制器)和index_view.php(视图)文件。

在Index_model.php中有导航链接和索引页口号文本函数:

public function nav(){
    $sql = "SELECT * FROM nav";
    $sth = $this->db->select("SELECT * FROM nav");
    return $sth;
}
public function slogan()
{
    $sql = "SELECT * FROM slogan";
    $row = $this->db->select($sql);
    return $row;
}

Index.php (Controller) page .

public function Index(){
    // Include Index_Model
    $index_model = $this->load->model("index");
    // Call Navigation Links functions
    $nav = $index_model->nav();
    $default = $this->defaults();
    // Call slogans
    $slogan = $index_model->slogan();
    $this->load->view('index', $nav, $default);
} 

和View部分的Load.php是so.

public function view($filename,$data = false, $default = false){
    include('app/view/'.$filename."_view.php");
}

我如何发送我的所有值与1 $变量的视图。这可能吗?如何使视差网站在MVC模型?

您可以将变量放在另一个数组中并传递新数组。这样的

public function Index(){
    // Include Index_Model
    $index_model = $this->load->model("index");
    // Call Navigation Links functions
    $nav = $index_model->nav();
    $default = $this->defaults();
    // Call slogans
    $slogan = $index_model->slogan();
    $data=[];
    $data['nav']=$nav;
    $data['default']=$default;
    $this->load->view('index', $data);
}