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

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

我用 MCV 模型制作了 1 页视差网站,我想将页面的所有数据作为 1 $data 发送到 index_view load->view($filename,$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(控制器)页面以便..

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);
} 

和 Load.php 的视图部分是这样..

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

我如何发送我的所有值以使用 1 个 $ 变量查看。 可能吗。 MVC模型中的Parallax站点是如何制作的?

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

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);
}