발견된 현상 : 컨텐츠 모듈에서 글 수정 시 발생하는 현상
deprecated : optional parameter $module_srl declared before required parameter $is_comment is implictly treated as a required parameter in /modules/supercache/supercache.model.php on line 218
(decrecated : 필수 매개 변수 $is_srl보다 먼저 선언된 선택적 매개 변수 $srl은 /vmx/supercache/supercache.model에서 필수 매개 변수로 암시적으로 처리됩니다.php on 218 라인)
PHP에서는 선택적 매개변수가 필수 매개변수 앞에 오는 것을 허용하지 않습니다. 선택적 매개변수는 항상 필수 매개변수 뒤에 와야 합니다. 이는 PHP 8.0 부터 deprecated 경고가 발생하게 변경되었습니다. 이런 형태의 함수 선언은 잘못된 것이므로 수정이 필요합니다.
수정한 파일
/supercache/supercache.model.php (218라인)
public function deleteSearchResultCache($is_comment, $module_srl = 0)
함수 선언에서, $module_srl
은 선택적 매개변수이며 $is_comment
는 필수 매개변수입니다. 이 경우, 필수 매개변수가 선택적 매개변수보다 앞에 와야합니다. 아래는 수정된 함수 선언입니다:
위와 같이 매개변수의 순서를 바꾸었기 때문에, 이 함수를 호출하는 모든 곳에서 매개변수의 순서도 바꿔주어야 합니다. 그렇지 않으면 예상치 못한 결과가 발생할 수 있습니다. 이 점을 주의해 주세요.