메인페이지의 페이지수정을 저장하면 서버 오류가 발생합니다.

아래는 오류 내용 입니다.

서버 오류 TypeError #0 "Argument 1 passed to lang() must be of the type string, null given, called in C:\xampps\htdocs\classes\object\Object.class.php on line 151" in C:\xampps\htdocs\common\functions.php on line 35

1.png

무엇이 문제인가요..?

 

아래는 해당 코드의 일부입니다.

Object.class.php의 151번째 부근 함수

    public function setMessage($message = 'success', $type = null)
    {
        $this->message = lang($message);
        if($type !== null)
        {
            $this->setMessageType($type);
        }
        return $this;
    }

 

functions.php의 35번째 부근 함수

function lang(string $code, $value = null)
{
    if (!isset($GLOBALS['lang']) || !$GLOBALS['lang'] instanceof Rhymix\Framework\Lang)
    {
        $GLOBALS['lang'] = Rhymix\Framework\Lang::getInstance(Context::getLangType() ?: config('locale.default_lang') ?: 'ko');
        $GLOBALS['lang']->loadDirectory(RX_BASEDIR . 'common/lang', 'common');
    }

    if ($value === null)
    {
        return $GLOBALS['lang']->get($code);
    }
    else
    {
        $GLOBALS['lang']->set($code, $value);
    }
}

 

 

고수님들의 답변 미리 감사드립니다!!

  • profile

    참고로 XE 에서 라이믹스 2.1.x로 업그레이드 한 상태입니다.

  • profile

    페이지 모듈에서 빈 값을 넣는 바람에 생기는 오류입니다. 현재 개발중인 라이믹스 develop 버전에서는 패치되어 있습니다만, 간단하게 Object.class.php에서

        $this->message = lang($message);

    이 부분을

        $this->message = lang((string)$message);

    로 변경하시면 해결됩니다.

  • profile profile
    말끔히 해결되었습니다!
    답변 감사드립니다!!