gpt4 book ai didi

php - 嵌套 View 中的增量变量

转载 作者:可可西里 更新时间:2023-10-31 23:41:54 27 4
gpt4 key购买 nike

在laravel框架中,我有如下几种嵌套 View

<mainview>
loop @include <sub-view>
loop @include <sub-sub-view>

我想记录有多少子 subview 。实际上,它变成了一个行计数器。我不确定在哪里声明/初始化这个变量($sub-sub-view-counter),以及在哪里递增它。无论我把它放在哪里,它都不会被每个 View 看到和递增。

最佳答案

这可能有点 hack,但除非没有更好的选择......

您将需要一个辅助 函数或一个对象(最简单的方法是将其放入模型中)。为了演示,我选择了对象变体,因为我相信它更容易处理,而且最重要的是更容易扩展到您的需求。此外,这隐含地支持多个计数器,因为值是按对象保存的(您必须跳过几个环节才能使用函数获得此功能)。

class Counter
{
private $count = 0;

public function inc()
{
return ++$this->count;
}
}

因此,对于这个特定的实现,您必须在某处 创建它。您可以在包含 subview 之前在父 View 中的某处放置这样一行,或者使用 with() 方法从 PHP 注入(inject)它。

<?php $counter = new Counter(); ?>

您像往常一样包含 subview (记住使用include,而不是render,以保留$counter变量)我使用用于测试的 for 循环,但您当然可以使用您想要的任何变体。

@for($i=0; $i<10; $i++)
@include('home.sub')
@endfor

最后你可以在 subview 中调用它

<span>{{ $counter->inc() }}</span>

您可以使用工厂轻松扩展此模型以从应用程序中的任何位置获取计数器值,但对于您的用例,此基本变体应该足够了。

关于php - 嵌套 View 中的增量变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14309758/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com