目前我正在與PHP的商業項目。我認爲這個問題不適用於所有編程語言的PHP,只是想討論你們的解決方案。PHP商業項目功能定義
我在MVC框架(CodeIgniter)中工作。
模型類中的所有數據庫事務代碼。
以前,我用不同的函數名分開不同的搜索條件。 只是一個例子
function get_student_detail_by_ID($id){}
function get_student_detail_by_name($name){}
正如你所看到的功能其實可以合併爲一個,只需添加一個參數吧。但是你用項目衝刺的東西,你以前不會回頭看到類似的功能只是做些改變才能達到目標。在這種情況下,我們發現那裏有很多功能並且很難維護。
最近,我們嘗試組實體一個終極搜索 像這樣
function get_ResList($is_row_count=FALSE, $record_start=0, $arr_search_criteria='', $paging_limit=20, $orderby='name', $sortdir='ASC')
我們試圖讓此功能適用於所有的搜索條件。但是,我們的系統越來越大,搜索標準不會超過1-2個表格。它需要與其他表具有不同的用途。 我們有什麼用IF ELSE完成,
if(bla bla bla)
{
$sql_join = JOIN_SOME_TABLE;
$sql_where = CONDITION;
}
末,我們發現很難維持性功能。它也很難調試。
我想問你的意見,他們解決這類問題的商業解決方案是什麼,如何定義一個函數以及如何修改它。我認爲這是鏈接項目管理技巧。希望你願意與我們分享。
謝謝。
你是什麼意思由ol'好的SQL是舊的? – Shiro 2010-05-29 15:49:36