php函数设计的一点思考

来源:互联网 发布:淘宝如何开直通车 编辑:程序博客网 时间:2024/05/12 12:42

关于函数设计,命名规范什么的我就不说了。

就php而言,php是一门弱类型语言,不能直观的看出参数和返回值类型。又是这会让代码阅读者困惑。

比如

function GetMainClassifyFromDB()

{

............................................

}

对于这样一个函数看不出什么问题。

但是我们来讨论两种情况:

一种是函数中途某种操作执行失败了,需要高速调用者返回false

另一种情况是操作成功需要返回结果,假设结果为空。

对于前者false,对于后者什么也没有。


如果有以下代码

$result = GetMainClassifyFromDB()
{

if(!$result)

{

错误处理代码

}

}

显然这段代码是有问题的。

对返回值做类型判断,又显得很麻烦。


解决方案:

运行结果通过参数返回,函数返回值仅仅表示函数运行成功或者失败。

这样函数参数分为两类:输入参数和输出参数,输出参数放在右边即可。

比如:

function GetMainClassifyFromDB(&$result)

{

if(!ConnectDB())

{

return false;

}

.........

//将所有主分类放入$result中

.........

return true;

}

这样子我们的代码就很容易写了