使用常量变量访问对象的属性

时间:2017-03-27 07:55:17

标签: php

为什么我无法使用常量变量访问对象的属性。

这是常数:

define('FLD_CASES_STATUS', 'case_status');

这不起作用

$case->TBL_CASES;

2 个答案:

答案 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

尽可能简单。但为什么不在对象中使用常量或静态?