以前在用Python的Django、Rails或是PHP其他framework的時候,總覺得很難想像,要怎麼寫一個framework出來。
連最入門的這兩件事我都覺得難以想像:
- 網址輸入’user/create’ 要如何執行controller資料夾內user class的create method?
- 要如何讓controller去讀取view資料夾底下的html 然後render出去?
也就是說,所謂MVC pattern要從何開始實作?
最近試著親自動手做,發現其實沒那麼難,也從中學到不少。上述兩件事,100行內就可以作到。
提供我嘗試實作的source code給各位參考。
那100行程式碼長這樣
https://github.com/howtomakeaturn/PigFramework/blob/super_light/index.php
資料夾結構長這樣
https://github.com/howtomakeaturn/PigFramework/tree/super_light
(Photo via Glyn Lowe Photoworks, 2 Million Views, Thanks, CC License)