关于 thinkphp import 文件内容变量失效问题

   用TP 集成支付宝账户绑定功能时碰上个问题

   ORM 下有文件 config.class.php

   直接import()后 发现里面的变量无法使用  但确实是加载咯。。(在config.class.php输出内容成功)

   思考百度了半天。。

   原来一直知道 JS 作用域 忽略了 PHP 函数也有作用域的- -

   具体原理:

   

<?php
class b{
   function test(){
      myImport("a.php");
      $testClass = new impClass();
      $testClass->test();
      echo $a."from b";
   }
}
class a{
   function funa(){
      $InsB = new b();
      $InsB->test();
   }
}
function myImport($file){
   require $file;
   echo $a."from myImport";
}
$InsA = new a();
$InsA->funa();
?>


a.php

<?php
$a = "a";
class impClass{
   function test(){
      echo "import success";
   }
}
?>

显示:

 

  顺便说下这样设计的好处 。。 可充分隔离个文件全局变量可能造成的影响。。

posted @ 2013-05-09 10:04  ﹏Sakura  阅读(318)  评论(0编辑  收藏  举报