为什么我无法使用常量变量访问对象的属性。
这是常数:
define('FLD_CASES_STATUS', 'case_status');
这不起作用
$case->TBL_CASES;
答案 0 :(得分:0)
看看这个简单的演示代码:
<?php
define('FLD_CASES_STATUS', 'case_status');
$obj = new stdClass;
$obj->{FLD_CASES_STATUS} = 'foo';
var_dump($obj->{FLD_CASES_STATUS}, $obj->case_status);
输出显然是:
string(3)&#34; foo&#34;
string(3)&#34; foo&#34;
答案 1 :(得分:0)
<?php
class MyObject {
public $myProperty;
}
define('PROPERTY', 'myProperty');
$obj = new MyObject;
$obj->{PROPERTY} = 5;
echo $obj->{PROPERTY}; // returns 5
尽可能简单。但为什么不在对象中使用常量或静态?