公共静态变量值
我试图声明一个公共静态变量,它是一个数组数组:
class Foo{
public static $contexts = array(
'a' => array(
'aa' => something('aa'),
'bb' => something('bb'),
),
'b' => array(
'aa' => something('aa'),
'bb' => something('bb'),
),
);
// methods here
}
function something($s){
return ...
}
但我收到一个错误:
解析错误:解析错误,期待 `')'' 在...
I'm trying to declare a public static variable that is a array of arrays:
class Foo{
public static $contexts = array(
'a' => array(
'aa' => something('aa'),
'bb' => something('bb'),
),
'b' => array(
'aa' => something('aa'),
'bb' => something('bb'),
),
);
// methods here
}
function something($s){
return ...
}
But I get a error:
Parse error: parse error, expecting
`')'' in ...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
声明类属性时不能使用表达式。即你不能在这里调用
something()
,你只能使用静态值。在某些时候,您必须在代码中以不同的方式设置这些值。例如:
或者如果您要实例化该类,则在 __construct 中执行此操作。
You can't use expressions when declaring class properties. I.e. you can't call
something()
here, you can only use static values. You'll have to set those values differently in code at some point.For example:
Or do it in
__construct
if you're going to instantiate the class.