搜索

首页  >  问答  >  正文

不能在命名参数之后使用位置参数 |伊伊2

我正在学习 Yii2 PHP 框架课程,并且遇到一个问题。我对PHP不太熟悉,所以我很难解决这个问题。

因此,我尝试在网站中创建“删除”按钮,但收到错误:“无法在命名参数后使用位置参数”。

有代码片段:

'class' => 'yii\grid\ActionColumn',
'buttons' => [
    'delete' => function ($url) {
        return Html::a(text:'Delete', $url, [
            'data-method' => 'post'
        ]);
    }
]

P粉158473780P粉158473780272 天前470

全部回复(1)我来回复

  • P粉333186285

    P粉3331862852024-03-27 10:57:44

    这不是 Yii2 问题,如果您检查 php 文档页面 它谈到了这个案例,它说:

    这是有道理的,如果 PHP 让您先放置命名参数,然后放置位置参数,则无法确定哪些参数应与您实际传递的未命名参数相匹配。

    在相反的情况下,第一个位置参数根据其顺序与函数参数一对一匹配,然后,当您对参数的默认值感到满意但想要为它们后面的其他一些参数分配一个值。

    最简单的解决方案是,就像 Barmar 在评论中所说,删除 text: 并使用位置参数,您的参数已经处于正确的顺序,并且您正在使用所有参数。

    您还可以命名所有参数。

    顺便说一句,我认为这种情况下的错误消息是不言自明的并且非常清楚。

    回复
    0
  • 取消回复