Object 를 BaseObject로 바꿀때...
CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 5.x |
social xe 아래와 같은 instanceof Object 도 instanceof BaseObject로 변경하는게 맞죠?
[ 기진곰님의 답변 ]
new Object 는 모두 new BaseObject 로 바꾸고,
가끔 extends Object 라고 쓰는 모듈도 있는데, 이것도 모두 extends BaseObject 로 바꾸면 됩니다.
단, 이것과 무관한 ModuleObject 같은 것도 있으니 Object 를 검색해서 일괄 변경하면 안됩니다.
자칫하면 Object 를 BaseObject 로 바꾸다가 또 일괄변환해서 BaseBaseObject 가 되는 참사가... ㅋㅋㅋ
new Object, extends Object 처럼 앞에 다른 단어가 있는 경우만 바꿔야 합니다.
// 연동 체크
if(($check = $oLibrary->checkLinkage()) && $check instanceof Object && !$check->toBool() && $sns_info->linkage != 'Y')
{
return $check;
마트몬
Lv. 8
댓글 9
네, 저건 바꾸셔야 합니다.^^
조금 다른 질문인데요. 혹시 baseobject로 바꾼 모둘이나 애드온을 php : 5.5.9-1ubuntu4.22 xe최신버젼 환경으로 업로드 시켜서 사용해도 문제없겠죠 ?
추후 php7.X대로 업데이트를 할 예정인데 미리 문제가 될만한 것을 변경해서 수정해 두면 업데이트 시 조금 덜 혼란스러울것 같아서 문의드립니다.
저희도 7.0으로 운영하다 서버를 이전하면서 7.2로 바꾸었는데 오류 안뜨게 미리 다 바꿔놓고 했답니다.
return class_exists('BaseObject') ? new BaseObject($status, $message) : new Object($status, $message);
이건 바꾸지 마세요. 새로운 함수에 대응하게 한 코드 입니다. 업데이트가 된 모듈에는 코어 버전에 따라 동작하도록 분기되어 동작하도록 코드 입니다.
혹시나 해서 이것도 알려드립니다. (업데이트가 안되는 자료에는 이 코드가 있을 수는 없습니다.)