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;
}
这样子我们的代码就很容易写了
- php函数设计的一点思考
- PHP函数设计的一点想法
- 对于PHP 中调用函数时的一点思考
- 后台设计的一点思考
- 关于设计的一点思考:
- PHP处理日志的一点思考
- 数据库主键设计的一点思考
- 网络协议设计的一点思考
- 对于设计模式的一点思考(杂记)
- 对于设计模式的一点思考(后记)
- 数据库用户信息存储设计的一点思考
- 关于设计模式的一点思考
- 关于函数返回值的一点思考
- 关于fork()函数的一点思考
- 关于函数名与函数指针的一点思考
- php开发微信程序的一点思考
- 关于设计文档与代码关系的一点思考
- 面向切面编程与系统设计的一点思考
- 发布IOS应用全攻略(三)——如何为iTunes Connect准备应用
- java socket参数详解:SendBufferSize和ReceiveBufferSize
- Oracle 视图 的应用
- 发布iOS应用全攻略(四)——如何上传应用到iTunes Connect
- poj2752---KMP
- php函数设计的一点思考
- MFC 多线程总结
- css通用选择器*
- android wifi
- Jquery之CSS选择器
- css实现评论文本框加背景图片
- Maven介绍
- Oracle 函数 与 存储过程 的应用
- 最短路径之Floyd—Warshall算法