라이믹스 2에서 소셜 xe socialxe.library.php구문 오류 문의 드려봅니다.
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 8.0 |
Fatal error: Declaration of socialxeLibrary::set($value) must be compatible with BaseObject::set($key, $val) in /home/modules/socialxe/socialxe.library.php on line 220
안녕하세요!
라이믹스 2.0.14 버전 이용중이며 소셜 xe는 라이믹스 1.9버전에서 잘 이용하고 있던 파일입니다^^
그런데 설치하고 로그인 버튼을 누르니 막상 위의 에러가 떠서 고민중입니다.
socialxe.library.php 220 번째 줄 부터 보면
function set($value)
{
if($value['token'])
{
$this->token = $value['token'];
}
if($value['profile'])
{
$this->profile = $value['profile'];
}
}
function get()
{
return array(
'service' => $this->service,
'token' => $this->token,
'profile' => $this->profile,
);
}
이렇게 끝이 납니다.
이걸 삭제하고 나면 에러는 안뜨고 카카오로그인 같은경우는 로그인 창까지 뜨는걸 봐서 (당연히 로그인은 불가)
이 구문에서 잡아내면 해결될것 같아 이렇게 올려봅니다.
도움 주시면 감사하겠습니다 ㅠ_ㅠ
댓글 2
함수 내용이 문제가 아니라 함수 선언 자체가 잘못되었습니다.
BaseObject를 상속받은 클래스이므로 set() 메소드는 반드시 $key, $val 이렇게 2개의 파라미터를 받아야 합니다. $value 하나만 받으니까 에러가 나는 것입니다. PHP 8에서는 부모 클래스의 메소드 구조를 변경하는 것이 허락되지 않습니다. 2개의 파라미터를 받도록 함수 첫 줄을 수정하고, 그 함수를 호출하는 곳도 모두 찾아서 수정해야 할 수 있습니다.
말씀해 주신 내용 참고하여 수정해 보도록 하겠습니다^^
감사합니다!