b.php:<?php$LANG['test'] = "测试";?>c.php:<?phpclass c { publice function echotest{ global $LANG; echo $LANG['test']; } }
谢谢4楼的方法。但是这种方法需要在各个页面里各个function都加 global $LANG;,这样修改的地方太多了,整个系统的文件都要修改。有没有办法只改一个文件就可以的啊。我想到一个办法就是把b.php里面的所有变量都变为$GLOBALS,也就是 b.php: <?php $GLOBALS['test'] = '测试'; ....... ?>不知道还有没有更好的,因为据说$GLOBALS不安全
不可能! 做多语言应用而不修改原单语言应用的程序是不可能做到的,除非你一开始就做了这方面的考虑全局变量本身就在$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; } } ?> 即通过自定义常量进行传递通常使用函数进行传递
a.php:<?phpinclude("b.php"); include("c.php"); $c = new c(); $c->echotest($test);?> c.php:<?phpclass c { publice function echotest($test){ echo $test; } }?>
{
publice function echotest{
global $LANG;
echo $LANG['test'];
}
}
b.php:
<?php
$GLOBALS['test'] = '测试';
.......
?>不知道还有没有更好的,因为据说$GLOBALS不安全
做多语言应用而不修改原单语言应用的程序是不可能做到的,除非你一开始就做了这方面的考虑全局变量本身就在$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;
}
}
?>
即通过自定义常量进行传递通常使用函数进行传递
include("c.php");
$c = new c();
$c->echotest($test);?>
c.php:<?phpclass c
{
publice function echotest($test){
echo $test;
}
}?>