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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
要是有人问你,你写的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,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
存储 缓存 移动开发
详细介绍HTML5的离线储存(工作原理+使用场景+真实使用步骤)
详细介绍HTML5的离线储存(工作原理+使用场景+真实使用步骤)
|
7月前
|
编译器 C++ Windows
程序环境的内容
程序环境的内容
|
8月前
|
前端开发
第一个网页总结暨前端基础知识补充
一,css基本引入 二,字体引入样式 三,类名约定 四,文字相关 五,相关技巧 分竖线 六,案例遇到问题及解决方法 七,文本格式化标签 八,meta标签 九,表格 十,input表单 十 一,dl标签 十二,css相关补充 背景, 透明图像,opacity![](https://img-blog.csdnimg.cn/e6756a58e45c4b94aac154aeb76148c6.png) 在搜索框内添加图标 css3 边框-阴影,圆角 文本溢出显示,换行 css3 2D转换 transition过渡 Bootstrap4 颜色引用 Bootstrap4 进度条
60 0
第一个网页总结暨前端基础知识补充
|
前端开发
前端知识学习案例5vs code-搜索和替换全局内容
前端知识学习案例5vs code-搜索和替换全局内容
63 0
前端知识学习案例5vs code-搜索和替换全局内容
超过6G的大文件是如何读取的,附源代码。含有网上很少有论述的信息
读取大文件有如下两种方法,一是用fopen打开文件,fgetline循环读取,fclose关闭文件;二是用open打开函数,用lseek获取文件大小,用mmap大文件内存映射,用munmap关闭内存映射,用close关闭文件句柄。方式一教慢,就不再详细描述。主要描述方式二。
|
JavaScript 前端开发 小程序
讲述小程序之组件基本内容
讲述小程序之组件基本内容
107 0
讲述小程序之组件基本内容
学生服务器用途案例
搭建内网穿透服务、搭建企业Web业务系统、搭建个人网站
105 1
学生服务器用途案例
|
.NET 数据库 安全
ASP.NET | 从零到一实战分析对后台数据库增加数据、模糊查找、精确查找并展示
新建: 新建数据库mydb.mdf、添加表: 更新数据库; 右击数据库,选择属性,复制连接字符串;(这里之前做过了,就简单点过不做细节。
1303 0
|
算法 Linux 缓存
第十六章--访问文件
        本章所涵盖的主题即应用于磁盘文件系统的普通文件,也应用于块设备文件;将这两种文件系统都简单地统称为“文件”。         访问文件的模式有多种。我们在本章考虑如下几种情况:         规范模式:         规范模式下文件打开后,标志O_SYNC与O_DIRECT清0,而且它的内容是由系统调用read()和write()来存取。
881 0

热门文章

最新文章