[PHP] GoEz Framework
前言
從 Web Framework 這個觀念開始大行其道之後,許多 PHP Framework 開始展露出它們的頭角。這些 Framework 都是強調快速建置與開發容易,因此它們提供的功能也是多到讓開發者的工具袋滿了出來;不過也因為這樣,這些 Framework 的體積實在是太大了。
就拿我在公司用的 Zend Framework 來說吧,它的原始碼就佔了二十幾 MB 的容量,而裡面有些功能是我們很多時候都用不到的。而且如果有些時候我們只是要做一些小活動或小功能,這樣的 Framework 在開發上就更顯得大而無當。
當然網路上還有其他一些相當不錯的輕量級 Framework ,但它們包含的功能還是太複雜了;讓團隊裡的成員去瞭解這些 Framework 的時間,或許早就已經可以讓他們完成更多工作了。
其實對某些超小型專案來說,純 PHP 也許就是個好選擇;只是每次都要去處理一些資料庫、樣版引擎和資料安全等等問題,對想要快速完成工作的開發者也是一種不小的負擔。
到底有沒有什麼好的方法可以解決這些問題呢?
一個簡易 MVC Framework 的誕生
寫了幾個小活動的程式碼後,我發現其實可以把一些常用的功能整理起來,所以我就有了這個想法:「或許可以自己開發一個簡易的 Framework 來應付這些小活動?」
於是我便開始仿照其他 Framework 的 MVC 架構,打造了一個超簡易超輕量的 GoEz Framework !
註:為什麼要叫 GoEz Framework ?就是「夠 Easy !」
GoEz Framework 主要包含了以下特色:
- 整合 Smarty 的簡易 MVC 框架
- 可切換環境的設定檔
- POST, GET 輸入安全檢查
- 預先整合 jQuery ,並提供將 PHP 變數轉換為 JavaScript 變數使用的樣版
不過為了讓開發者能自由整合其他的套件, GoEz Framework 目前沒有把資料庫操作這部份整合進來;也就是說開發者可以自行決定要使用 PDO 或是 ADOdb 等任何一種自己慣用的方式來操作資料庫。
註:其實說穿了, GoEz Framework 也只是為開發者以 MVC 架構包裝了既有的 PHP Web 開發模式而已,比起目前網路上的 Web Framework 的強大功能,仍然是相差十萬八千里。
GoEz Framework 未來的展望
就目前來說, GoEz Framework 並不會再往上發展成為怪獸級的 Framework ,因為它本身強調的就是容易瞭解與應用。
所以剛學習 Framework 的開發者也可以從 GoEz Framework 去瞭解目前時下流行的 MVC 架構的原理,增加對其他 Framework 學習上的信心。
目前正在開發中的是通用型的 SQL 語法產生器,主要的目的是減少大家產生 SQL 語法時的手誤與被 SQL Injection 攻擊的風險。另一個正在構思的是簡易的 CRUD Scaffolding ,讓開發者能夠簡易地處理資料表。
未來我也會把遇到的活動類型整理成模組,讓開發者能夠很快地安裝及修改,這應該是 GoEz Framework 最大的發展限度。
註:如果大家需要更複雜的功能時,還是可以尋找其他更強大更值得使用的 Framework 。
總之,我希望 GoEz Framework 能讓大家在開發上擁有最大的自由度,又不失去基本的安全性。
希望大家能多給我一些意見,讓 GoEz Framework 能夠更加的穩固與易用!
你好 我最近剛開始接觸您的GoEz Framework
想請教您一個笨問題
若http://localhost/goez/sample/index/pageID/2
我該如何在Controller取得pageID為2這個變數呢?
謝謝您
@power:
目前 GoEz 還不支援 /param/value 這樣的格式,這個會在新版中加入。