虽然现在都是使用面向对象,但你真的使用面向对象了吗?还是你一直在使用过程式编程
区别面向对象和过程式编程的一个核心区别是:如何分配职责。过程式编程表现为一系列的命令和方法的连续调用。控制代码根据不同的条件执行不同的职责。面向对象编程将职责从客户端代码移到专门的对象中,尽量减少相互依赖。我们举个例子说明:
面向过程式的编程:我们先用下面的格式来读写文本,readParam读取文件内容,然后存到关联数组里,最后返回。writeParam 函数会循环遍历关联数组,然后将键值对写入文件。
function readParam($sourceFile){
$param = [];
//从$sourceFile读取文件内容
return $param;
}
function writeParam($param, $sourceFile){
//写到$sourceFile文件里
}
上面这个工具好理解,也易于维护,但现在需求改变,需要支持读写xml和text文件。我们进一步改变代码,如下所示:
class file{
function readParam($source){
$param = [];
if (preg_match("/.xml$/i", $source)) {
//从xml文件中读;
} else {
//从text文件中读
}
return $param;
}
function writeParam($param, $source)



