2

我想要做的是有一个包含网站设置的单独 PHP 文件,然后让其他页面包含这个文件并根据设置执行代码。但是,每当我在类中使用 global 引用这些变量时,这些变量都是空的。例如:

设置.php:

<?php
$setting1 = 'on';
$setting2 = 'off';
?>

类.php:

<?php
require_once('./settings.php');

class myclass {
  public function __construct {
    global $setting1;
    echo $setting1;
  }
}

$object = new myclass;
?>

这不打印任何内容。但是,如果我在课堂外执行“echo $setting1”,它会打印“on”。当我尝试在文件本身中设置变量而不是包含它时,当我为 myclass 创建一个新对象时,打印为“on”。我需要做一些特别的事情来使包含的变量在类的全局范围内可用吗?

4

2 回答 2

8

您的构造函数在其名称后需要括号,例如

public function __construct() {

}

我怀疑这会给您带来致命错误,并且由于您的display_errors / error_reporting设置而没有显示。

于 2009-08-12T15:26:02.460 回答
1

您缺少括号:

public function __construct {

应该

public function __construct( ) {

结果:

$ php -v
PHP 5.2.5 (cli) (built: Nov 29 2007 09:31:38) 
2007-Macbook:Desktop mark$ php class.php
on
于 2009-08-12T15:27:01.507 回答