我正在學習 Yii2 PHP 框架課程,并且遇到一個問題。我對PHP不太熟悉,所以我很難解決這個問題。
因此,我嘗試在網(wǎng)站中創(chuàng)建“刪除”按鈕,但收到錯誤:“無法在命名參數(shù)后使用位置參數(shù)”。
有代碼片段:
'class' => 'yii\grid\ActionColumn', 'buttons' => [ 'delete' => function ($url) { return Html::a(text:'Delete', $url, [ 'data-method' => 'post' ]); } ]
這不是 Yii2 問題,如果您檢查 php 文檔頁面 它談到了這個案例,它說:
這是有道理的,如果 PHP 讓您先放置命名參數(shù),然后放置位置參數(shù),則無法確定哪些參數(shù)應與您實際傳遞的未命名參數(shù)相匹配。
在相反的情況下,第一個位置參數(shù)根據(jù)其順序與函數(shù)參數(shù)一對一匹配,然后,當您對參數(shù)的默認值感到滿意但想要為它們后面的其他一些參數(shù)分配一個值。
最簡單的解決方案是,就像 Barmar 在評論中所說,刪除 text:
并使用位置參數(shù),您的參數(shù)已經處于正確的順序,并且您正在使用所有參數(shù)。
您還可以命名所有參數(shù)。
順便說一句,我認為這種情況下的錯誤消息是不言自明的并且非常清楚。