Maison  >  Article  >  développement back-end  >  php : explication détaillée de la portée de la variable du fichier d'inclusion

php : explication détaillée de la portée de la variable du fichier d'inclusion

黄舟
黄舟original
2017-06-25 10:45:291165parcourir

Cet article résume la portée de plusieurs situations dans lesquelles include 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 de 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 display pour introduire le fichier modèle, mais c'est juste mon imagination. Après l'écriture de

, j'ai découvert 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 de fichier A :

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

Code de fichier B :

<?php

echo $aaa;

Le contenu peut être sorti 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 de fichier A :

<?php

include "B.php";

echo $fff;

Code de fichier B :

<?php

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

À ce moment, le contenu peut être sorti 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 de fichier A :

<?php

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

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

Code de fichier B :

<?php

echo $bbb;

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

La quatrième situation : Un fichier importe un fichier B via une fonction définie. Les variables dans A ne peuvent pas être utilisées dans le fichier B, mais les variables A peuvent être utilisées. dans la fonction appelante (affichage).
Code de fichier A :

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

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

display("B.php");

Code de 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.

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