首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含在$this->include中的视图是否会收到传递的参数

包含在$this->include中的视图是否会收到传递的参数
EN

Stack Overflow用户
提问于 2020-06-05 06:39:14
回答 2查看 81关注 0票数 1

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

在示例中:

代码语言:javascript
复制
<?php
foreach ($destaques as $camping) {
    $this->include('partial', ['camping' => $camping])
}
?>

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

EN

回答 2

Stack Overflow用户

发布于 2020-06-05 14:31:30

当使用$this->include时,您正在将一个视图的echo转换为另一个视图。因此,默认情况下,您正在加载的视图将可以访问您提供给父视图的任何数据,但不能访问您在其中声明的变量。

在你的案例中有几个选择:

使用方法的视图:

代码语言:javascript
复制
foreach ($destaques as $camping) {
        echo view('partial', ['camping' => $camping]);
    }

在部分视图中移动循环,以便在其中使用$destaques

代码语言:javascript
复制
   <?php
       // dont forget to echo
       echo $this->include('partial')
   ?>

   // or this way with short tags enabled
   <?= $this->include('partial') ?>

并且只需在前面的foreach循环中嵌入部分视图

代码语言:javascript
复制
foreach ($destaques as $camping) {
    // whatever your partial view is
}
票数 1
EN

Stack Overflow用户

发布于 2020-06-05 08:13:06

您好,我尝试使用参数选项。我测试了代码,它正在工作。但请注意,include视图布局方法的工作方式类似于php默认的include函数,直到您回显它时它才会显示出来。这是我的代码,我用它来测试你的代码,它对我很有效。检查它

代码语言:javascript
复制
$inc = '';
foreach ($destaques as $camping) {
    $inc .= $this->include('partial', ['camping' => $camping])
}
echo $inc;

这对我来说很有用,检查一下吧。如果这不是你所期望的,请通知我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62205305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档