在c.php里把B.PHP  include进来`~~

解决方案 »

  1.   

    二楼的朋友是指在c.php里的function echotest把b.php include进去吗?这种方法我也想过,但是这样很麻烦,因为c.php其实就是各个页面,如果各个页面的各个function写之前都加include(c.php);的话,这样太麻烦,维护也不好。还有更好的方法吗?
      

  2.   

    b.php:<?php$LANG['test'] = "测试";?>c.php:<?phpclass c
    {
        publice function echotest{
               global $LANG;
               echo $LANG['test'];
        }
    }
      

  3.   

    谢谢4楼的方法。但是这种方法需要在各个页面里各个function都加 global $LANG;,这样修改的地方太多了,整个系统的文件都要修改。有没有办法只改一个文件就可以的啊。我想到一个办法就是把b.php里面的所有变量都变为$GLOBALS,也就是
    b.php:
    <?php
    $GLOBALS['test'] = '测试';
    .......
    ?>不知道还有没有更好的,因为据说$GLOBALS不安全
      

  4.   

    不可能!
    做多语言应用而不修改原单语言应用的程序是不可能做到的,除非你一开始就做了这方面的考虑全局变量本身就在$GLOBALS数组中
    你可以
    b.php:<?php
    $LANG['test'] = "测试";
    ?>c.php:
    <?php
    class c
    {
        publice function echotest{
               echo $GLOBALS['test'];
        }
    }
    这样使用,但这依然需要修改原代码修改量最少的做法是
    b.php:
    <?php
    define('test', "测试");
    ?>c.php:
    <?php
    class c
    {
        publice function echotest{
               echo test;
        }
    }
    ?>
    即通过自定义常量进行传递通常使用函数进行传递
      

  5.   

    a.php:<?phpinclude("b.php");
    include("c.php");
    $c = new c();
    $c->echotest($test);?>
    c.php:<?phpclass c
    {
        publice function echotest($test){
               echo $test;
        }
    }?>