假设我有两个php脚本script.php
和inc.php
。(<?php
略)
inc.php :
$foo = 'a';
script.php :
$foo = 'b'; // $foo is b
include 'inc.php'; // $foo is a
则在包含inc.php
的时刻,变量$foo
被'a'
覆盖。我希望可以包含没有副作用的文件。
最实用的是局部作用域:
inc.php (2) :
// $foo is b
{
$foo = 'a'; // $foo is a
} // $foo is b
据我所知不存在这样的结构,我唯一能想到的是:
inc.php (3) :
// $foo is b
call_user_func(function() {
$foo = 'a'; // $foo is a
}); // $foo is b
- 是否有其他(更好/更优雅)的方法使文件安全包含?
- 如果
inc.php
无法修改,我是否可以安全地将inc.php
包含到script.php
中?
设置常量:
defined('PASSWORD') or define('PASSWORD', 'value');
常量是全局的,但不能定义两次。如果您在"db.php"中定义了PASSWORD常量,则不能在"script.php"中的PASSWORD中重新定义。