看板 PHP 關於我們 聯絡資訊
※ 引述《HuangJC (吹笛牧童)》之銘言: : trace CakePHP 時,第一步就被它卡死了 ~^_^~ : $session->read : 這時馬上全域搜尋 $session 這個字串,想看它什麼時候被 new 出來 : 結果,完全找不到!! 這個問題我自己回一下 原來搜尋的技巧錯了 因為這不是一種 Compile 語言,而是 Script 很方便,但也很不適合用全域搜尋去找 比如有一次我找的函式,它是被湊出來的(記得是 phpbb3) 當天找得我很慘;類似這樣 $check='string'; $validfunc='valid_' . $check; $validfunc(); //其實會執行 valid_string() (註一,產生新的問題) 當我從半路猜中 valid_string 有被執行時 開始瘋狂的全域搜尋 valid_string ..永遠也找不到啦~~~ 這也就是為什麼我想問有沒有堆疊追蹤指令 不然會死人 *_* 回原題,我想知道何時被 new,可能還要一些技巧 但想知道被 new 出什麼, print_r($session); 就好了..唉.. 然後呢,本例而言我得到 Session Object 這個回應 而我大概是找不出何處 new 它的 因為不一定存在一道 new Session 指令 它也可以是組合字串 ~^_^~ $a='S'; $a .= 'ssion'; $session=new $a; 就這麼簡單,就足以讓何時 new Session 變得找不到 ~^_^~ 威力強大同時帶來難以 TRACE 的困擾 XD 不過它先寫前端,不必完整 implement後端的特性(我的字眼有點怪 :P) 真是太迷人了 XD 昨天加班到凌晨四點,我快死了... ;; 註1: $validfunc(); //這樣其實會執行 valid_string(); call_user_func($validfunc); //這樣也會 說真的,我的問題就是 幹麻多發明這個函式? 有點像盲腸. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.59.179.152 ※ 編輯: HuangJC 來自: 61.59.179.152 (07/13 21:03)
bcse :要堆疊追蹤可試試Xdebug,應該有你想要的 07/13 23:36
HuangJC :...是洋蔥..讓我流下了感動的眼淚 ~^_^~ 07/14 00:23