解析thinkphp import 文件内容变量失效的问题

yipeiwu_com6年前PHP代码库
用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";
   }
}
?>

显示:

相关文章

让PHP COOKIE立即生效,不用刷新就可以使用

复制代码 代码如下: //PHP COOKIE设置函数立即生效。 function cookie($var, $value='', $time=0, $path='', $domain=...

php获取给定日期相差天数的方法分析

本文实例讲述了php获取给定日期相差天数的方法。分享给大家供大家参考,具体如下: 方法一: <?php function count_days($a,$b){ $a...

php分割合并两个字符串的函数实例

本文实例讲述了php分割合并两个字符串的函数。分享给大家供大家参考。具体实现方法如下: 这里实现把两个字符串进行分割合并,例如str1=aaaa,str2=bbbb,合并后生成ababa...

php JWT在web端中的使用方法教程

php JWT在web端中的使用方法教程

解释一下JWT JWT就是一个字符串,经过加密处理与校验处理的字符串,由三个部分组成。基于token的身份验证可以替代传统的cookie+session身份验证方法。三个部分分别如下:...

破解.net程序(dll文件)编译和反编译方法

破解.net程序(dll文件)编译和反编译方法

我只做个简单的小例子,给大家一个思路,吼吼~~~~ 1使用工具 Reflector.exe 用来查看.net代码 这个就不用多说了它是学.net必备神器 Ildasm.exe:用来将dl...