: trace CakePHP 時,第一步就被它卡死了 ~^_^~
:
: $session->read
為什麼我要找這個函式呢?
而後來我又發另一篇 POST
說我偽造了這個函式,做出我要的東西
其實,後來我走了捷徑
直接 print_r 結果;整句應該補完來討論
$user = $session->read('user');
print_r($user);
好,其實這是一個網頁的帳號登入部份
最後我自己比對資料庫,自己把帳號偽造出來了
一開始其實我是想抄,看能不能找到函式就抄來用
(前情提要:同事寫了整個程式,但我不能從他的程式進入點進去,卻要做到相同的事
我可以看到資料庫,所以我可以直接從資料庫拿我想要的東西)
撈資料庫的程式我不熟,所以想抄一段
最後還是覺得自己寫比較快,我根本沒空 Trace 龐大的 CakePHP XD
不過,隨著時間推移,遲早 Cake 部份會有更多工作交給我
所以我必需爭取時間學習,這一點也沒錯
那我繞了什麼遠路呢?
其實只要 print_r 就可以查到 $session 是什麼 class
然後全域搜尋 function read,再輔以 class name 應該就搞定了
何必在乎 caller..(但我陷進去了,忘了重點)
不過學了 XDebug 後,它還是很有幫助 XD
明天再來拼
class::read 這個函式的內容,猛然一看,仍然沒做到 database access
看來還有一段路要 trace
不過我已經把手上的程式毀了,沒有備份
所以明天進公司還原後再繼續學習吧~
繞這麼一大圈,我還是沒很了解,cake 可以幫我省下什麼
雖然說它是 framework
這樣說吧,VC++ 上的 MFC 我已經用很久了
一但啟用它,我就擁有開檔,存檔,分頁(MDI),而還不必自己動手寫程式
這個叫 Document-View 架構
就是一個 Document 可能用很多不同的 Viewer Class 去看它
所以才要這樣切
(有些書一直教'怎麼做',卻沒教它的目的,所以我摸熟後才體會到的
我也另外學過 BCB,它就沒這種架構,它以 View 為主
由 VC 轉過去的工程師會很習慣的先產生一個 data class,其實就是 Document
但如果是由 BCB 學起,很容易會把 data 放在第一個 View
而其他 View 就一直用指標去第一個 View 裏撈資料,切不乾淨但也寫得出程式
它的問題是:假設今天第一個 View 用不到,也不能 delete 它,只能 hide
因為它事實上保存資料;然後我們當然會想把 data 移出 View 另外保管
自然自己也進化出了 Document-View 架構了;其實很自然)
那 cake 的 MVC,我還沒體會到為什麼是切成三塊,M/V/C
我主要是從 phpbb2 學起
它也有 template 要代換,也有資料庫要使用
我會覺得程式切成 templte & data base 很自然
也就是論譠的資料管理及畫面展現,當然應該切成兩塊
這就很像 VC 的 Document-View
那..為什麼現在是 M/V/C :P
我想到很久以前,另一個同事放的大絕,不知是不是該用在這裏:
其實有很多種架構,並不只 Document-View
只不過 VC 主推這種,我們又用 VC,所以我們就變這種
好,那其實現在是不是說,因為 Cake 很好用,我們選了 Cake
而 Cake 主推 MVC,所以我們就變 MVC :P
如果這就是答案
那就是:這種資源存在得多,所以我們用了
不過我還沒進入 MVC 的世界,嘿..
也許 MVC 自己就寫得出一套 bbs
那我幹麻這麼辛苦去看 phpbb2 咧.. XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.59.179.152
※ 編輯: HuangJC 來自: 61.59.179.152 (07/14 02:05)
耶,懂了,謝謝~
Win AP 是單人單機程式,所以對資料庫的要求並不大
但是網頁是多人多機程式,資料庫就顯得重要
敝公司曾經寫過類似 iPod 的音樂資料庫管理
當時就在程式內加載了一個資料庫
我曾經問:file access 自己管管音樂及子目錄就好,為什麼要有資料庫?
答案是:歌曲太多,自己管歌曲不如叫資料庫來管
當資料量多,資料庫變得重要
Document 就可以進一步區分成 Control & DataBase,
而這裏 DataBase 被稱為 Model
我記得 phpbb2 裏,有一段 class 很漂亮
就是它可以適應四/五套不同的資料庫套件
而像我是用 mysql,那它就用 $db=new mysql4; 產生一個物件
這樣就可以利用 class 的特性,輕易的相容於不同的 database 指令間
....但難道我要說 phpbb2 已經是 MVC 了嗎? XD
也許有程度上的差別吧!
不過的確一切開就漂亮了
※ 編輯: HuangJC 來自: 61.59.179.152 (07/14 02:37)
謝謝大家
有時我會繞遠路
奇怪的是,不繞一下遠路還搞不懂原來這是遠路 :P
就算同事說'你應該先看XXX',我還是看不下去
覺得根本無法建立整體印象