发布日期:2018-03-26
如何初始化静态变量+ 查看更多
如何初始化静态变量
+ 查看更多
发布日期:2018-03-26 16:12
分类:PHP
浏览次数:230
如下:
我有个代码
private static $dates = array( 'start' => mktime( 0, 0, 0, 7, 30, 2009), // Start date 'end' => mktime( 0, 0, 0, 8, 2, 2009), // End date 'close' => mktime(23, 59, 59, 7, 20, 2009), // Date when registration closes 'early' => mktime( 0, 0, 0, 3, 19, 2009), // Date when early bird discount ends );给了我以下错误:
Parse error: syntax error, unexpected '(', expecting ')' in /home/user/Sites/site/registration/inc/registration.class.inc on line 19
所以,我想我做错了什么…但如果不是这样我该怎么做呢?
如果我改变mKtime方法中的东西用普通的字符串,它有作用。所以我知道我可以这样做
有人有建议吗?
回答
在初始化过程中,PHP不能解析非平凡的表达式
我更喜欢在定义类后添加代码:
我更喜欢在定义类后添加代码:
class Foo { static $bar; } Foo::$bar = array(…);或者
class Foo { private static $bar; static function init() { self::$bar = array(…); } } Foo::init();PHP5.6现在可以处理一些表达式。