>  기사  >  백엔드 개발  >  php: 포함 파일 변수 범위에 대한 자세한 설명

php: 포함 파일 변수 범위에 대한 자세한 설명

黄舟
黄舟원래의
2017-06-25 10:45:291165검색

이 글은 PHP에서 파일을 include할 때 발생하는 여러 상황을 요약한 것입니다. 매우 간단하고 실용적이므로 모든 사람이 include 사용에 익숙해지길 바랍니다.

PHP에서는 때때로 파일을 포함해야 할 때가 있습니다. 예를 들어, 얼마 전 framework를 작성할 때 기본 PHP를 템플릿으로 사용한 다음 display 메서드를 작성하여 템플릿 파일을 소개하려고 계획했지만 이는 단지 상상에 불과했습니다.

작성하고 보니 템플릿의 변수가 모두 정의되지 않은 것을 발견했습니다. 다양한 조사와 정보 검색을 통해 파일을 포함할 때 여러 상황에서 범위를 요약했습니다.

첫 번째 경우: A 파일에는 B 파일이 포함되어 있으며 A의 변수는 B 파일에서 호출될 수 있습니다.

A 파일 코드:

<?php
 $aaa = &#39;123&#39;;
 
 include "B.php";

B 파일 코드:

<?php

echo $aaa;

콘텐츠가 정상적으로 출력됩니다.

두 번째 경우: A 파일에 B 파일이 포함되어 있으면 B 파일의 변수를 A 파일에서 호출할 수 있습니다.
A 파일 코드:

<?php

include "B.php";

echo $fff;

B 파일 코드:

<?php

$fff = &#39;i am f&#39;;

이때는 콘텐츠가 정상적으로 출력될 수 있습니다.

세 번째 경우: 파일 A의 특정 클래스의 메서드에서 B 파일을 호출한 다음 파일 B의 메서드에서 변수를 호출합니다.
A 파일 코드:

<?php

class test{
  public function show(){
    $bbb = &#39;abc&#39;;
    include "B.php";
  }
}

$t = new test;
$t->show();

B 파일 코드:

<?php

echo $bbb;

이때는 콘텐츠가 정상적으로 출력될 수 있습니다.

네 번째 경우: A 파일은 정의된 함수를 통해 B 파일을 가져옵니다. A의 변수는 B 파일에서 사용할 수 없지만 A 파일의 호출 함수(표시)의 변수는 사용할 수 있습니다.
A 파일 코드:

<?php
$aaa = &#39;123&#39;;

function display($file){
  $bbb= &#39;asdasdas&#39;;
  include $file;
}

display("B.php");

B 파일 코드:

<?php
echo $aaa;
echo $bbb;

실행 후 $aaa 프롬프트는 정의되지 않으며 $bbb는 정상적으로 출력될 수 있습니다.

그래서 디스플레이 방식을 사용하여 템플릿을 소개하는 것이 불가능하다는 것을 깨닫기 시작했습니다. 세 가지 상황을 바탕으로 마침내 템플릿 파일을 가져오는 클래스를 작성하기로 결정했습니다. 현재 ThinkPHP와 Smarty도 클래스를 사용하여 템플릿 파일을 소개합니다. 기사에 부족한 부분이 있으면 수정을 환영합니다.

위 내용은 php: 포함 파일 변수 범위에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.