一段典型的PHP程序都包含那些内容呢?

要是有人问你,你写的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 ,如需转载请自行联系原作者

上一篇:关于PHPMailer漏洞情况的通报


下一篇:php抓取远程的图片,远程图片名字包含空格和中文