[討論] 一個物件呼叫的疑問

看板PHP作者 (夏天到了,冷不起來了說)時間13年前 (2012/08/23 11:38), 編輯推噓1(106)
留言7則, 4人參與, 最新討論串1/1
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

08/23 12:07, , 1F
其實 public 的不應該可以直接這樣 call ...
08/23 12:07, 1F

08/23 12:08, , 2F
你如果不打算建立 instance 再 call 的話,就改成 static
08/23 12:08, 2F

08/23 12:17, , 3F
constant("test::".$str);
08/23 12:17, 3F


08/23 12:23, , 5F
也可以用偷吃步的方法 eval() http://goo.gl/vRrey
08/23 12:23, 5F

08/23 15:10, , 6F
原來我看錯問題 XD 被自己誤導 囧
08/23 15:10, 6F

08/24 11:59, , 7F
感謝Jerr..因為是要賦予值的關係,就不用eval了
08/24 11:59, 7F
文章代碼(AID): #1GDQMulk (PHP)
文章代碼(AID): #1GDQMulk (PHP)