테스트 사이트 - 개발 중인 베타 버전입니다

인클루드시 순서등의 문제 채택완료

마조 8년 전 조회 2,113
인클루드 한 파일의 내용이 list.php 파일과 중복되거나 비슷한 (조금다르다면)경우<br />
<br />
중복시 우선순위가(?) 어떻게되나요 <br />
비슷하면서 조금 다른경우에는 어떤문제가 있나요<br />
댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
8년 전

include, include_once, require, require_once 등

PHP 에서 제공하는 인클루드 함수는 파일의 내용은 신경쓰지 않습니다.

내용이 같아도 경로가 다르면 여러번 인클루드 하게 됩니다.

이 경우엔 *_once 는 우선 배제하고

같은 내용을 두번 인클루드 하게 될 때

일반 변수 혹은 글로벌 변수등은 인클루드 후 값 변경이 이루어졌다면

해당 변수들은 재 인클루드 시 값 초기화 현상이 일어날 것이고


상수같은 타입들은 재선언 에러관련 메세지가 발생할 것입니다.


우선순위의 경우

동일경로 및 include 함수 사용시는 그냥 PHP 엔진이 짜여진 PHP 코드 해석하는 순서 그대로 입니다. 

다른경로 및 include 함수 사용시는 해당경로 기준으로 최종시점에 인클루드된 시점입(위 케이스와 반대 = 마지막 인클루드에서 최종 덮어쓰기)니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

마조
8년 전
자세한 설명주셔서 감사드립니다.

댓글을 작성하려면 로그인이 필요합니다.

8년 전

include와 include_once 의 이해가 선행이 되어야 할 것 같습니다.


인클루드된 파일도 순차적으로 읽어들이기 때문에 비슷하거나 조금 다른(변수의 값?) 등은 마지막에 선언된 값을 받아들일것입니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

8년 전

중복된 파일을 제외하려면

include_once 함수를 사용하세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인