Home >Backend Development >PHP Tutorial >A brief discussion on the variable scope of include files in PHP, _PHP tutorial

A brief discussion on the variable scope of include files in PHP, _PHP tutorial

WBOY
WBOYOriginal
2016-07-13 09:49:44853browse

A brief discussion on include file variable scope in php,

In php we sometimes need to include a file. For example, when I was writing a framework some time ago, I planned to use native PHP as the template, and then write a display method to introduce the template file, but this was just my imagination.

After writing it, I found that all variables in the template were undefined. Through various research and searching for information, I summarized the scope in several situations when including files.

The first case: A file includes B file, and the variables in A can be called in B file.

A file code:

<&#63;php
 $aaa = '123';
 
 include "B.php";

B file code:

<&#63;php

echo $aaa;

The content can be output normally.

Second case: A file includes B file, and then the variables of B file can be called in A file.
A file code:

<&#63;php

include "B.php";

echo $fff;

B file code:

<&#63;php

$fff = 'i am f';

At this time, the content can be output normally.

The third situation: Call B file in a method of a certain class in A file, and then the variables in the method can be called in B file.
A file code:

<&#63;php

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

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

Code of file B:

<&#63;php

echo $bbb;

At this time, the content can be output normally.

Fourth case: File A imports file B through a defined function. Variables in A cannot be used in file B, but variables in the calling function (display) in file A can be used. .
A file code:

<&#63;php
$aaa = '123';

function display($file){
  $bbb= 'asdasdas';
  include $file;
}

display("B.php");

B file code:

<&#63;php
echo $aaa;
echo $bbb;

After running, $aaa prompts that it is undefined, and $bbb can be output normally.

So I started to assume that using a display method to introduce templates was not feasible. Based on the three situations, I finally chose to write a class to import the template file. Currently, ThinkPHP and Smarty also use classes to introduce template files. Any deficiencies in the article are welcome to be corrected.

The above is the entire content of this article, I hope you all like it.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1019068.htmlTechArticleA brief discussion of the include file variable scope in php. In php, we sometimes need to include a file. For example, when I was writing a framework some time ago, I planned to use native PHP as the template...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn