【发布时间】:2011-12-05 02:46:47
【问题描述】:
php中是否可以使用另一个静态变量来初始化另一个静态变量?
public static $conf_siteroot = "http://mysite.com/";
public static $conf_docroot = "C:/Users/Mp/Documents/Projects/nana/webroot/";
public static $conf_doclib = $conf_docroot."library/";
public static $conf_sitelib = $conf_siteroot."library/";
这段代码根本不起作用,但我需要重用静态变量,所以我不会写太多。谢谢
【问题讨论】:
-
我不这么认为,但我想你可以试试——只要使用正确的语法:
public static $conf_doclib = self::$conf_docroot."library/"; -
用常量代替
static变量怎么样? -
是的,这应该工作 - 使用 self:: 正如 Pekka 所说。这仅不适用于类常量,但公共静态变量应该可以做到。
-
@azat - 你是对的,它不起作用。我刚刚学到了一些东西:-)。 OP,你可以在构造函数中初始化动态值($conf_doclib,$conf_sitelib)。
标签: php