웹마스터 팁
PHP 5.4 대응 코딩(1) - stdClass
2014.04.29 11:25
PHP가 5.3에서 5.4로 업데이트 되면서 기존에 WARNING이 아니었던 내용이 WARNING, 즉 경고가 발생하는 부분이 있습니다. 여러 부분이 있겠지만 제일 보기 쉬운 오류로는 stdClass 관련 오류가 있겠습니다.(Creating default object from empty value)
PHP 5.3까지는 $aa->bb 와 같이 사용하면 자동으로 $aa를 stdClass로 초기화해 주었습니다.
하지만, 이것은 개발자가 오류를 찾기 힘들게 합니다.
예제를 하나 보겠습니다.
function setVars() { if(otherFunc()) { $aa->bb='cc'; } return $aa; } function MainFunc() { $bb = setVars(); $bb->bb=$bb->bb . 'dd'; }
위 함수에서 만약 otherFunc 함수가 0을 반환한다면 $aa는 stdClass로 초기화되지 않고, 개발자가 의도했던 결과(ccdd) 대신에 'dd'만이 저장될 것입니다.
하지만 어떠한 경고도 발생하지 않기에, 오류를 찾는 것에 시간이 오래 걸릴수 있겠죠.
물론 위 예제에서는 고의적으로 otherFunc의 반환값이 0일 경우를 생각하지 않았습니다만, 소스 코드가 커질 경우 살펴보기 어려워질 수 있겠죠.
따라서 무조건 WARNING을 끄기보다는, 왜 WARNING이 발생하는지 알아 보고, 적절한 위치에 stdClass 선언을 추가해 주는것이 좋을 것입니다.
외부 주소:
php 5.2 - 경고 미발생, 하지만 오작동중:http://yjsoft.bl.ee/error.php
php 5.3 - 역시 경고 미발생, 오작동중:http://yjsoft.pusku.com/error.php
php 5.4 - WARNING 발생:http://crecrew.pusku.com/error.php
php 5.4 - 수정이후 정상 동작:http://crecrew.pusku.com/normal.php
댓글 0
제목 | 글쓴이 | 날짜 |
---|---|---|
1원팁) 톱메뉴를 제거하고 왼쪽 서브메뉴만 출력하는 방법 [2] | Gnee | 2008.08.02 |
1.0.3 버전 이상부터 본문 내 이미지 자동 리사이징이 안되는 경우 [1] | kirrie | 2008.08.01 |
제로보드XE 설치 완료버튼 누르니까 My sql 관련 내용 나오던데요 [3] | Naver™ | 2008.07.30 |
코멘트를 달아야만 첨부파일 다운로드 할 수 있게 하기 [8] | 지오426 | 2008.07.29 |
제로보드XE에서 표 쉽게 만드는 방법.. [23] | 청개구리00 | 2008.07.27 |
초간단! 게시물주소 클릭시 복사하기 ! [4] | gnee | 2008.07.26 |
본문의 서명과 프로필이미지를 끌어올려보자 [11] | CL님 | 2008.07.22 |
로컬 설치 후 몇가지 문제점에 대해서 - 인덱싱. DB선택 등 | 서정일643 | 2008.07.22 |
로그인이 안되는 문제 [1] | 젝망치 | 2008.07.21 |
관리자만 ip 보이게 하기 [10] | 老姜君 | 2008.07.20 |
게시판(블로그)상단에 글쓰기버턴이나 링크넣기 [8] | 팔공산 | 2008.07.20 |
게시글 본문 좌, 우측에 div 내용 넣기(수정) [5] | 라르게덴 | 2008.07.18 |
winxp IE7 rwapm에서 한글이름파일 업로드 [7] | 공수래 | 2008.07.15 |
초보 헤메다가 팁//댓글기능 보이기 감추기 [5] | 리히토 | 2008.07.15 |
자료 첨부 문제 | 단풍534 | 2008.07.15 |
초보 헤메다가 팁//검색기능 보이기 감추기 [3] | 리히토 | 2008.07.15 |
초보 헤메다가 팁//인쇄영역 확장변수 포함 [8] | 리히토 | 2008.07.14 |
에디터입력창 배경색상(이미지) 변경해보기 [5] [1] | 팔공산 | 2008.07.13 |
업그레이드 쉽고,안전하게 하기(예제 포함해서 다시 올림) [2] | wannabewize | 2008.07.13 |
게시판 가로조절(width) 및 가운데로 이동 태그 [4] | 박상욱860 | 2008.07.12 |