Yii2 PHP 프레임워크 과정을 수강 중인데 문제가 발생했습니다. 저는 PHP에 대해 잘 알지 못해서 이것을 이해하는 데 어려움을 겪고 있습니다.
그래서 웹사이트에 "삭제" 버튼을 만들려고 했는데 "이름이 지정된 매개변수 뒤에 위치 매개변수를 사용할 수 없습니다"라는 오류가 발생했습니다.
코드 조각이 있습니다:
'class' => 'yii\grid\ActionColumn', 'buttons' => [ 'delete' => function ($url) { return Html::a(text:'Delete', $url, [ 'data-method' => 'post' ]); } ]
이것은 Yii2 문제가 아닙니다. php 문서 페이지를 확인하면 이 사례에 대해 설명합니다:
이것은 말이 됩니다. PHP에서 이름이 지정된 매개변수를 먼저 넣은 다음 위치 매개변수를 넣을 수 있다면 어떤 매개변수가 실제로 전달하는 이름이 없는 매개변수와 일치해야 하는지 알 수 있는 방법이 없습니다.
반대의 경우 첫 번째 위치 인수는 순서에 따라 함수 인수와 일대일로 일치한 다음 인수의 기본값에 만족하지만 일부에 값을 할당하려는 경우 그 뒤에 나오는 다른 주장들.
가장 간단한 해결책은 Barmar가 댓글에서 말한 것처럼
text:
를 제거하고 위치 매개변수를 사용하는 것입니다. 매개변수는 이미 올바른 순서로 되어 있으며 모두 사용하고 있습니다.모든 매개변수에 이름을 지정할 수도 있습니다.
그런데 이 경우 오류 메시지는 설명이 필요 없으며 매우 명확하다고 생각합니다.