PHP 7.0 으로 사용시 오류/경고문 해결법 - 2 배열변수의 첨자오류개선 > 그누보드5 팁자료실

그누보드5 팁자료실

PHP 7.0 으로 사용시 오류/경고문 해결법 - 2 배열변수의 첨자오류개선 정보

PHP 7.0 으로 사용시 오류/경고문 해결법 - 2 배열변수의 첨자오류개선

본문

PHP 7.0으로 변경하시는경우 오류가 발생하시죠

수많은 경고문도 로그에 쌓이게되고..

 

<주요문제점>

2. 배열의 첨자에 텍스트사용

 

<해결책>

1. 우선 E_ALL옵션으로 경고문을 죄다 노출합니다.

  @마르스컴퍼니 님의 팁참고   https://sir.kr/so_note/46

 

2. 오류가 나타나는 영역들을 찾아갑니다.

 

3. [column_name] 으로 된부분을 ['column_name'] 으로 변경합니다.

 

   (해결)

 

문제는 이것이 아니라 너무 많다는것이 문제이죠

 

<편법>

에디터들을 활용합니다.

에디터 마다 파일전체 일괄바꾸기가 존재합니다.

 

제가 주로 활요하는것은 notepad++ 을 사용합니다. 

Acroedit나 editplus 도 존재하는것으로 알고있습니다.

 

전체파일들을 대상으로 변경시에는 

(1) 백업필수

(2) 로컬에서 작업

(3) 여러번변경할 것을 인지한 후

 

notepad++을 예를들면 

Ctrl+F를 누르면 찾기가 나오는데 

 

3번째 탭은 [파일에서 찾기] 가 있습니다.

 

그중 배열의 첨자를 변경하는 패턴은

 

1. [ 를 [' 로 변경

(1) 디렉토리는 원하는 디렉토리로 이동 - 주로 스킨하위만 사용하세요 (이하중복설명생략)

(2) 찾을내용 : [

(3) 바꿀내용 : ['

(4) 모든하위폴더포함 체크   (이하 중복설명 생략)

 

우선 [모두찾기로 ] 검토를 해봅니다.

원하는 대상들이 맞으면 

 

(5) 모두바꾸기 실행

    한참 수행후 종료됩니다.

 

2. ] 를  '] 로 변경

   

(1) 찾을내용 : ]

(2) 바꿀내용 : ']

(3) 모두바꾸기 실행

 

------

여기서부터는 존재하는데도 변경된 대상을 원복시킵니다.

 

3. ['' 을  [' 로 

(1) 찾을내용 : [''

(2) 바꿀내용 : ['

(3) 모두바꾸기 실행

 

 

4. ''] 을  '] 로 

(1) 찾을내용 : '']

(2) 바꿀내용 : ']

(3) 모두바꾸기 실행

 

또 검토해보면 대상이 있겠죠

배열첨자를 ['idx'] 가 아닌 ["idx"] 로 사용한경우

 

5. ['" 을  [' 로 

(1) 찾을내용 : ['"

(2) 바꿀내용 : ['

(3) 모두바꾸기 실행

 

6. "'] 을  '] 로 

(1) 찾을내용 : "']

(2) 바꿀내용 : ']

(3) 모두바꾸기 실행

 

그럼 끝일까요? 

아닙니다.

 또 존재합니다.

 

7. [$i]와 같이 된경우가 변경되었으면 ['$i'] 로 되어있을겁니다.

    이게 문제가 없는것 같으나 숫자로 작동될 첨자가 문자로 이식되서 오작동합니다.

(1) 찾을내용 : ['$

(2) 바꿀내용 : [$

(3) 모두바꾸기 실행

 

8. 짝을 맞출때 변수의 끝은 찾기가 어렵죠

   이번엔 일괄이 불가능하지만

   전체 대상을 찾을수는 있습니다.

(1) 찾을내용 : [$

(2) 모두찾기 실행

(3) 찾아진내용을 하나씩 클릭해서 변수첨자뒤에 존재하는 [$i'] 와 같이된부분에서

   '] 를 ] 로 재변경합니다.

 

--------

 

상당히 번거롭게 작업되는 내용이긴합니다만

특정 스킨이 오래된 형태일경우 

스킨하위내용을 대상으로 디렉토리를 지정해서 처리하면

원활한 결과를 얻으실수있습니다.

추천3
스폰서링크

댓글 전체

좋은팁이네요 저는 5.6에서 7.2올릴때 오류가 나길래 버전 오류인가 싶었는데
short tag 때문에 발생했었던 적이 있었네요
전체 1,282 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

진행중 포인트경매

  1. 그누보드/영카트 채팅솔루션

    참여17 회 시작18.12.11 09:03 종료18.12.16 09:03

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT