Php $this包含的视图->;包含注释是否接收传递的参数

Php $this包含的视图->;包含注释是否接收传递的参数,php,codeigniter,codeigniter-4,Php,Codeigniter,Codeigniter 4,当我在另一个视图中使用$this->include方法时,是否可以传递参数来查看 例如: <?php foreach ($destaques as $camping) { $this->include('partial', ['camping' => $camping]) } ?> 但是partial.php没有收到$camping值。您好,我尝试使用参数选项。我测试代码,它正在工作。但请注意,include视图布局方法的工作原理与php默认的include

当我在另一个视图中使用$this->include方法时,是否可以传递参数来查看

例如:

<?php
foreach ($destaques as $camping) {
    $this->include('partial', ['camping' => $camping])
}
?>


但是partial.php没有收到$camping值。

您好,我尝试使用参数选项。我测试代码,它正在工作。但请注意,include视图布局方法的工作原理与php默认的include函数类似,只有在您回显它时才会显示。 这是我用来测试你的代码,它对我有用。检查一下

$inc='';
foreach($destaques作为$camping){
$inc.=$this->include('partial',['camping'=>$camping])
}
echo$inc;

这对我来说很有用,检查一下。如果这不是您所期望的,请在使用
$this->include
时引起我的注意,您正在将一个视图的
回显到另一个视图中。因此,默认情况下,您正在加载的视图可以访问您提供给父视图的任何数据,但不能访问您在其中声明的变量。
在您的情况下,有几个选项:

使用查看方法:

foreach ($destaques as $camping) {
        echo view('partial', ['camping' => $camping]);
    }
在局部视图中移动foreach循环以便在其中使用
$destaques

   <?php
       // dont forget to echo
       echo $this->include('partial')
   ?>

   // or this way with short tags enabled
   <?= $this->include('partial') ?>
foreach ($destaques as $camping) {
    // whatever your partial view is
}