【发布时间】:2009-08-12 15:22:35
【问题描述】:
我想要做的是有一个包含网站设置的单独 PHP 文件,然后让其他页面包含这个文件并根据设置执行代码。但是,每当我在类中使用 global 引用这些变量时,这些变量都是空的。例如:
settings.php:
<?php
$setting1 = 'on';
$setting2 = 'off';
?>
class.php:
<?php
require_once('./settings.php');
class myclass {
public function __construct {
global $setting1;
echo $setting1;
}
}
$object = new myclass;
?>
这不打印任何内容。但是,如果我在课堂外执行“echo $setting1”,它会打印“on”。当我尝试在文件本身中设置变量而不是包含它时,当我为 myclass 创建一个新对象时,打印为“on”。我需要做一些特别的事情来使包含的变量在类的全局范围内可用吗?
【问题讨论】:
-
出于命名空间安全的原因,您可能需要考虑创建静态类而不是全局变量。要直接回答您的问题,看起来确实像其他人提到的括号问题。