構架上的困惑
本帖最後由 muyuruhai 於 2013-07-15 10:54:01 編輯
大家好
小弟曾經寫過一個網站,用的方式如下
index.php 首頁
後台logic 有一個php檔案,logic.php
在 logic.php 裡面寫了
$action=_$POST[action]
switch $action
case check_userlogin
login(_$POST[username],_$POST[pwd]);
case put_comment
put_comment(_$POST[Comment]);
...
end switch
通過這樣的方式調用不一樣的action 執行不同的函數, logic.php就像所有操作的通用入口。
因為最近看了mvc架構,雖然明白原理,但是不深入的話感覺還是有些困難。
如果自己做一個小項目,這樣switch的結構合適不合適呢?
前台如果用ajax,一般我就會調用 url:logic.php
data:{action:update_commnet,commnet:"hellow"} 類似這種
因為時間比較緊張,如果再現學一個MVC我怕會來不及,請給點建議
謝謝各位
結構
分享到:
------解決方案--------------------
你的那個寫法與mvc的路由是一樣的
不同之處在於你處理的是有限(已知)方法,而mvc路由可處理無限方法(增加方法不需更改路由代碼)
------解決方案--------------------
action少的話,沒有問題,但是action過多的話,建議做成配置型的選擇。
例如:
$actions = array(
'check_userlogin' => 'login',
.....
);
$action=_$POST[action];
if(isset($actions[$action]) && function_exists($actions[$action])) {
$actions[$action]();
}