PHP 7.4~8.4 호환성 이슈:
&getController(),&getModel(),&getAdminModel()→&제거 (PHP 8.x에서 deprecated)$args = null후$args->속성→$args = new stdClass()(PHP 8.2+에서 dynamic properties deprecated)admin.view.php49행$args초기화 누락$obj = null후 동적 속성 할당 (model.php)?>닫는 태그 제거 (권장)- view.html 템플릿 안에도
&getModel있음
=====================================================================================
다운로드 : rockgame-v1.0.zip
1차 패치파일 : rockgame-패치파일.zip
패치파일도 7.4~8.4 까지
======================================================================================
🎮 가위바위보 게임모듈 (rockgame) v1.0 수정사항
원작: 쿡래빗 (v0.4, 2014-01-02)
패치: 불패의초인 / ybs7415@gmail.com / https://bsplus.net/
릴리즈: 2026-05-22
1. PHP 7.4 ~ 8.4 호환성 패치
&getController() / &getModel() / &getAdminModel() — & 참조 제거
PHP 8.x에서 함수 반환값에 대한 & 참조 할당이 deprecated 되어 전부 제거했습니다.
수정 파일:
rockgame.admin.controller.php(1곳)rockgame.admin.view.php(6곳)rockgame.controller.php(3곳)rockgame.model.php(1곳)rockgame.view.php(2곳)skins/*/view.html— 전 스킨 (각 2곳)skins/*/result.html— 전 스킨 (각 2곳)
// Before
$oModuleController = &getController('module');
$oModuleModel = &getModel('module');
// After
$oModuleController = getController('module');
$oModuleModel = getModel('module');
$args = null → $args = new stdClass() — 동적 속성 대응
PHP 8.2부터 동적 속성(dynamic properties)이 deprecated 됩니다. null에 -> 속성 접근 시 에러가 발생하므로 stdClass로 초기화하도록 변경했습니다.
수정 파일:
rockgame.admin.controller.php(1곳)rockgame.model.php(9곳)
// Before
$args = null;
$args->member_srl = $logged_info->member_srl;
// After
$args = new stdClass();
$args->member_srl = $logged_info->member_srl;
동일하게 $obj = null → $obj = new stdClass()도 수정했습니다. (rockgame.model.php)
rockgame.admin.view.php — $args 초기화 누락 수정
dispRockgameAdminLog() 함수에서 $args가 초기화 없이 사용되고 있어 추가했습니다.
// Before
$args->page = Context::get('page');
// After
$args = new stdClass();
$args->page = Context::get('page');
?> PHP 닫는 태그 제거
모든 PHP 파일(6개)에서 파일 끝의 ?> 닫는 태그를 제거했습니다. PSR 권장사항이며, 닫는 태그 뒤 공백/개행으로 인한 "headers already sent" 오류를 방지합니다.
2. 새 스킨 추가: modern
이모지 기반 모던 UI 스킨을 추가했습니다.
특징:
- ✊✌️✋ 이모지로 가위/바위/보 표현 — 이미지 파일 불필요
- CSS 변수(
--rg-primary등) 기반 테마 — 색상 커스터마이징 용이 - 보라색 그라데이션 상단바 + 카드형 레이아웃
- 반응형 디자인 (모바일 768px 이하 대응)
- result.html 결과 애니메이션:
setInterval기반 이모지 순차 전환 - 승리/패배/무승부 시 카드 테두리 색상 변화 효과
파일 구성:
skins/modern/
├── skin.xml
├── css/default.css
├── js/default.js
├── view.html
├── result.html
├── _header.html
├── _footer.html
└── img/ (빈 폴더 — 이미지 불필요)
3. info.xml 업데이트
- 버전:
0.4→1.0 - 날짜:
2014-01-02→2026-05-22 - 원작자 정보 유지: 쿡래빗 / samswnlee@naver.com / xecenter.com
- 패치 작성자 추가: 불패의초인 / ybs7415@gmail.com / https://bsplus.net/
4. 기타 정리
.bak파일 제거 (rockgame.admin.controller.php.bak,rockgame.controller.php.bak)skins.7z제거 (구버전 스킨 백업 파일)
스킨 목록 (총 6개)
| 스킨명 | 폴더 | 설명 |
|---|---|---|
| 기본스킨 | default |
원작자 기본 스킨 (GIF 이미지) |
| 추가스킨 1 | default2 |
GIF 이미지 변형 |
| 추가스킨 2 | default3 |
GIF 이미지 변형 |
| 추가스킨 3 | default4 |
GIF 이미지 변형 |
| 모던 스킨 | modern |
신규 — 이모지 기반, 반응형 |
호환성 요약
| PHP 버전 | v0.4 (구버전) | v1.0 (패치) |
|---|---|---|
| 7.4 | ✅ | ✅ |
| 8.0 | ⚠️ new Object 에러 |
✅ |
| 8.1 | ⚠️ &getModel deprecated |
✅ |
| 8.2 | ❌ dynamic properties deprecated | ✅ |
| 8.3 | ❌ | ✅ |
| 8.4 | ❌ | ✅ |
※ v0.4 원본에서 이미
new Object→new BaseObject수정이 되어 있었음 (.bak파일이 원본)



문자열을 따옴표로 감싸지 않아서 발생하는 오류입니다. 오래된 자료에서 종종 사용하던 문법이나 최근 PHP에서는 허용되지 않으니, 에러 메시지에 포함된 파일명과 줄 번호를 참고하여 수정하세요.
위와 같은 에러가 보입니다