如果不声明该类,PHP >=8 会产生致命错误。 嵌套类有缩写形式吗?
$obj -> key1 -> var1 = "quick and easy";
或者这是唯一可能的方法:
$obj = new stdClass();
$obj -> key1 = new stdClass();
$obj -> key1 -> var1 ="nasty";
分别
$obj = (object)[ 'key1' => (object)[ 'var1' => "to many brackes and quotes" ],];
我真的更喜欢不带引号和括号的符号。可读性也更好。
我同意创建类与数组时有更多的引号和括号。然而,我强烈不同意可读性部分,因为这只是格式问题。
一些提示:
一个例子可以是:
[
'contact_id' => ['TYPE' => 'INT', 'INDEX' => true],
'relation_id' => ['TYPE' => 'INT', 'INDEX' => true],
'relation_contact_email' => ['TYPE' => 'TEXT'],
]
对对象执行此操作时:
$properties = new stdClass();
$contact_id = new stdClass();
$contact_id->TYPE = 'INT';
$contact_id->INDEX = true;
$properties->contact_id = $contact_id;
$relation_id = new stdClass();
$relation_id->TYPE = 'INT';
$relation_id->INDEX = true;
$properties->relation_id = $relation_id;
$relation_contact_email = new stdClass();
$relation_contact_email->TYPE = 'TEXT';
$properties->relation_contact_email = $relation_contact_email;
我认为我不需要进一步说明什么更具可读性和更易于使用。语言的语法不是你喜欢的,而是你需要学习的。