php: Detailed explanation of include file variable scope

黄舟
Release: 2023-03-11 11:56:01
Original
1236 people have browsed it

This article summarizes the scope of several situations when include files in PHP. It is very simple and practical. I hope it will be helpful for everyone to become familiar with the use of include.

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 is just my imagination. .

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

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

A file code:

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

B file code:

<?php

echo $aaa;
Copy after login

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:

<?php

include "B.php";

echo $fff;
Copy after login

B file code:

<?php

$fff = &#39;i am f&#39;;
Copy after login

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:

<?php

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

$t = new test;
$t->show();
Copy after login

B file code:

<?php

echo $bbb;
Copy after login

At this time, the content can be output normally.

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

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

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

display("B.php");
Copy after login

B file code:

<?php
echo $aaa;
echo $bbb;
Copy after login

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

So I started to assume that it was not feasible to introduce the template using a display method. 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 detailed content of php: Detailed explanation of include file variable scope. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template