【发布时间】:2010-05-29 13:39:16
【问题描述】:
目前我正在处理一个使用 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;
}
最后,我们发现维护这个功能非常困难。也很难调试。
我想问问你的意见,他们解决这类问题的商业解决方案是什么,如何定义一个函数以及如何修改它。我认为这是链接项目管理技能。希望您愿意与我们分享。
谢谢。
【问题讨论】:
标签: php function codeigniter project-management coding-style