看板 PHP 關於我們 聯絡資訊
class test{ const str1= '123'; public function func1(){ //dome some thing here } } $cmd = 'func1'; $str = 'str1'; test::$cmd(); <--可以正確呼叫func1() test::$str; <--不能取用123這串數字 Access to undeclared static property: test::$str 查了一下,似乎是test::$str 以類別屬性為優先、而不去找常數 那如果我想要以變數去取常數的話,還有什麼方法呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.202.164
chrisQQ:其實 public 的不應該可以直接這樣 call ... 08/23 12:07
chrisQQ:你如果不打算建立 instance 再 call 的話,就改成 static 08/23 12:08
Jerr:constant("test::".$str); 08/23 12:17
taikobo:也可以用偷吃步的方法 eval() http://goo.gl/vRrey 08/23 12:23
chrisQQ:原來我看錯問題 XD 被自己誤導 囧 08/23 15:10
JYHuang:感謝Jerr..因為是要賦予值的關係,就不用eval了 08/24 11:59