要是有人问你,你写的PHP程序都有那些内容,也许你还真的不知道!变量,数据类型,对象,数组,分支结构,循环结构,数据库等等等,天啊,我那记得住啊!你记不住,我也记不住啊! 换句话说,就是该怎么写程序。 但是,大家上学的时候都学过数据结构吧,学过结构化设计语言Pascal吧!有人说了,没学过,那C语言应该学过吧!要是也没学过,那也没有关系! 这个公式应该还记得吧: 算法 + 数据结构 = 程序 或者 算法 + 数据结构 + 程序设计方法 + 语言和工具 = 程序 那什么是程序呢?其实说白了,就是一个模块。写程序,其实就是写一个模块,或者你用对象也可以。或者说是一个盒子也行。反正,只要理解了就行。 那么算法是什么呢?其实就是解决问题的方法。 数据结构是什么呢?其实就是数据在计算机里面是怎么存储的方法。 语言是什么呢?就是写程序的工具。可以是PHP,ASP.NET,VB.NET,C#,Ruby,Python,SQL等等。 程序设计方法是什么呢?其实就是组织结构,怎么把算法,数据结构组织起来的方法,比如:OOD,结构化程序设计等等。 所以,说一千到一万,目前,所有的程序,写出来的模板都应该是一样,都应该包括以下的内容:输入/输出,内部变量,模块逻辑结构。不信,不可能,胡说。不要乱扣帽子,我们可以举例子来说明。在这里,我只拿PHP的程序来说明,其它的语言,你可以参考老鸟的观点,自己思考一下。 1)只有输出,没有输入。<?php echo \"Hello World!\"; ?>2)有输入,有输出。<?php include(\"conn/conn.php\"); $type=$_POST[type]; $title=$_POST[title]; $content=$_POST[content]; $linkman=$_POST[linkman]; $tel=$_POST[tel]; //$edate=date(\"Y-m-d h:i:s\"); $edate=date(\"Y-m-d H:i:s\"); $sql=mysql_query(\"insert into tb_info(type,title,content,linkman,tel,checkstate,edate) values('$type','$title','$content','$linkman','$tel',0,'$edate')\"); // 前面这么一大堆语句是做什么用处的呢?废话,当然是获取提交的数据啊! // 验证,并依据验证结果跳转到对应页面 if($sql){ echo \"<script>alert('恭喜您,信息发布成功!');window.location.href='release.php';</script>\"; }else{ echo \"<script>alert('对不起,信息发布失败!');history.back();</script>\"; } ?> 3)复杂的输入/输出<? class MysqlConn{ private $conn; private $my_db; private $result; // 系统初始化 public function __construct(){ require_once(\"db_config.php\"); $this->conn = mysql_pconnect($db_server, $db_user, $db_pwd); $this->my_db = mysql_select_db($db_name,$this->conn);//选择数据库 } // 对应的方法 public function query($sql){ $this->result = mysql_query($sql, $this->conn); // 执行查询语句 return $this->result; } public function next(){ return $row = mysql_fetch_array($this->result); } public function close(){ mysql_free_result($this->result); } //使用转义字符,保证系统安全. public function escapeString($str){ return mysql_escape_string($str); } } ?>这段代码是什么意思,你不知道OOP的,应该大概也知道是做什么了吧! 当然,有些程序或者叫代码,写的可能就很复杂,但不管怎么写,你按照这个思路去看代码,应该知道人家为什么这么写了! 但是,实际上呢,我们的任何的程序,其实还应该加上一个UI,也就是用户界面。 那么在PHP中,它支持那些用户界面呢?很简单,浏览器,窗口,控制台。当然,PHP做窗口不是很方便,它更多的是做浏览器的。是不是还有其它用户界面呢?我不知道,你要是知道的话,可以告诉我! 最后的小结: 一个程序应该有那些内容呢? 算法 + 数据结构 + UI = 程序 你可以审视一下过去你写的那些代码,或者,你看人家写的代码,不管这些代码是怎么写的,它的格式都是一样的,唯一不同的就是语法的不同。 当然,为什么有些代码我看不懂呢,那其实是因为,它里面包含了很多的算法。比如:在游戏开发中经常用到下列一些算法:A*,排序。贪婪,遗传等。当然,有好多算法是已经实现了各种数据结构和算法。我们只需要怎么做就可以了。当然,有时间的话,我们也可以理解为什么要这么做?但,我估计,除非你是做系统开发的,否则,劝你还是打消这个念头吧!因为,时间和精力是有限的!
本文转自
朱志兵 51CTO博客,原文链接: http://blog.51cto.com/richardzhu/196756,如需转载请自行联系原作者