이 글은 PHP에서 파일을 include할 때 발생하는 여러 상황을 요약한 것입니다. 매우 간단하고 실용적이므로 모든 사람이 include 사용에 익숙해지길 바랍니다.
PHP에서는 때때로 파일을 포함해야 할 때가 있습니다. 예를 들어, 얼마 전 framework를 작성할 때 기본 PHP를 템플릿으로 사용한 다음 display 메서드를 작성하여 템플릿 파일을 소개하려고 계획했지만 이는 단지 상상에 불과했습니다.
작성하고 보니 템플릿의 변수가 모두 정의되지 않은 것을 발견했습니다. 다양한 조사와 정보 검색을 통해 파일을 포함할 때 여러 상황에서 범위를 요약했습니다.
첫 번째 경우: A 파일에는 B 파일이 포함되어 있으며 A의 변수는 B 파일에서 호출될 수 있습니다.
A 파일 코드:
<?php $aaa = '123'; include "B.php";
B 파일 코드:
<?php echo $aaa;
콘텐츠가 정상적으로 출력됩니다.
두 번째 경우: A 파일에 B 파일이 포함되어 있으면 B 파일의 변수를 A 파일에서 호출할 수 있습니다.
A 파일 코드:
<?php include "B.php"; echo $fff;
B 파일 코드:
<?php $fff = 'i am f';
이때는 콘텐츠가 정상적으로 출력될 수 있습니다.
세 번째 경우: 파일 A의 특정 클래스의 메서드에서 B 파일을 호출한 다음 파일 B의 메서드에서 변수를 호출합니다.
A 파일 코드:
<?php class test{ public function show(){ $bbb = 'abc'; include "B.php"; } } $t = new test; $t->show();
B 파일 코드:
<?php echo $bbb;
이때는 콘텐츠가 정상적으로 출력될 수 있습니다.
네 번째 경우: A 파일은 정의된 함수를 통해 B 파일을 가져옵니다. A의 변수는 B 파일에서 사용할 수 없지만 A 파일의 호출 함수(표시)의 변수는 사용할 수 있습니다.
A 파일 코드:
<?php $aaa = '123'; function display($file){ $bbb= 'asdasdas'; include $file; } display("B.php");
B 파일 코드:
<?php echo $aaa; echo $bbb;
실행 후 $aaa 프롬프트는 정의되지 않으며 $bbb는 정상적으로 출력될 수 있습니다.
그래서 디스플레이 방식을 사용하여 템플릿을 소개하는 것이 불가능하다는 것을 깨닫기 시작했습니다. 세 가지 상황을 바탕으로 마침내 템플릿 파일을 가져오는 클래스를 작성하기로 결정했습니다. 현재 ThinkPHP와 Smarty도 클래스를 사용하여 템플릿 파일을 소개합니다. 기사에 부족한 부분이 있으면 수정을 환영합니다.
위 내용은 php: 포함 파일 변수 범위에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!