Maison  >  Article  >  développement back-end  >  Explication détaillée de la portée de la variable de fichier d'inclusion en PHP

Explication détaillée de la portée de la variable de fichier d'inclusion en PHP

*文
*文original
2017-12-28 11:09:222011parcourir

Cet article résume la portée de plusieurs situations lors de l'inclusion de fichiers en PHP. C'est très simple et pratique. J'espère qu'il sera utile à tout le monde de se familiariser avec l'utilisation d'include.

En php, nous devons parfois inclure un fichier. Par exemple, lorsque j'écrivais un framework il y a quelque temps, j'avais prévu d'utiliser PHP natif comme modèle, puis d'écrire une méthode d'affichage pour introduire le fichier modèle, mais ce n'était que mon imagination.

Après avoir fini d'écrire, j'ai constaté que toutes les variables du modèle n'étaient pas définies. A travers diverses recherches et recherches d'informations, j'ai résumé la portée dans plusieurs situations lors de l'inclusion de fichiers.

La première situation : Un fichier comprend un fichier B, et les variables de A peuvent être appelées dans un fichier B.

Code fichier A :


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


Code fichier B :


<?php

echo $aaa;


peut produire du contenu normalement.

Deuxième cas : Un fichier inclut un fichier B, et ensuite les variables du fichier B peuvent être appelées dans un fichier A.
Code fichier A :


<?php

include "B.php";

echo $fff;


Code fichier B :


<?php

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


À ce stade, le contenu peut être émis normalement.

La troisième situation : Appelez le fichier B dans une méthode d'une certaine classe dans le fichier A, puis les variables de la méthode peuvent être appelées dans le fichier B.
Code fichier A :


<?php

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

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


Code fichier B :


<?php

echo $bbb;


À ce moment, le contenu peut être sorti normalement.

Quatrième situation : Le fichier A importe le fichier B via une fonction définie. Les variables de A ne peuvent pas être utilisées dans le fichier B, mais les fonctions (affichage) peuvent être appelées dans le fichier A. .
Code fichier A :


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

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

display("B.php");


Code fichier B :


<?php
echo $aaa;
echo $bbb;


Après l'exécution, $aaa indique qu'il n'est pas défini et $bbb peut être généré normalement.

J'ai donc commencé à supposer qu'il n'était pas réalisable d'introduire le modèle en utilisant une méthode d'affichage. Sur la base des trois situations, j'ai finalement choisi d'écrire une classe pour importer le fichier modèle. Actuellement, ThinkPHP et Smarty utilisent également des classes pour introduire des fichiers modèles. Toute lacune dans l’article est bienvenue pour être corrigée.

Recommandations associées :

Une brève description des quatre fonctions de php include, include_once, require, require_once

Explication détaillée de la façon d'utiliser php include_once

Explication détaillée de la façon d'utiliser php include

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn