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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
要是有人问你,你写的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 ,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
设计模式 算法 PHP
PHP中的设计模式:策略模式的深入探索与实践在软件开发的广袤天地中,PHP以其独特的魅力和强大的功能,成为无数开发者手中的得力工具。而在这条充满挑战与机遇的征途上,设计模式犹如一盏明灯,指引着我们穿越代码的迷雾,编写出更加高效、灵活且易于维护的程序。今天,就让我们聚焦于设计模式中的璀璨明珠——策略模式,深入探讨其在PHP中的实现方法及其实际应用价值。
策略模式,这一设计模式的核心在于它为软件设计带来了一种全新的视角和方法。它允许我们在运行时根据不同情况选择最适合的解决方案,从而极大地提高了程序的灵活性和可扩展性。在PHP这门广泛应用的编程语言中,策略模式同样大放异彩,为开发者们提供了丰富的创作空间。本文将从策略模式的基本概念入手,逐步深入到PHP中的实现细节,并通过一个具体的实例来展示其在实际项目中的应用效果。我们还将探讨策略模式的优势以及在实际应用中可能遇到的挑战和解决方案,为PHP开发者提供一份宝贵的参考。
|
3月前
|
存储 缓存 安全
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
44 0
|
4月前
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。
|
5月前
|
存储 安全 Linux
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
|
6月前
|
Go PHP 云计算
如何在PHP代码里面调用Go程序
PHP和Go都是广泛使用的编程语言,但各自具有其独特的优势和特性。
|
7月前
|
安全 编译器 PHP
PHP 8 的新特性与优化——构建更高效的Web应用程序
PHP 8 是最新的PHP版本,它引入了一系列令人激动的新特性和优化,为开发者提供了更多的工具和功能来构建高效的Web应用程序。本文将介绍PHP 8的一些重要特性,包括 JIT 编译器、新的数据结构、类型系统改进以及错误处理的增强。我们还将探讨如何利用这些新特性和优化,提升Web应用程序的性能和可维护性。
60 0
|
8月前
|
缓存 PHP 数据库
PHP程序性能优化指南
在当今互联网快速发展的时代,PHP作为一种流行的服务器端脚本语言,其性能优化显得尤为重要。本文将介绍一些提升PHP程序性能的有效方法,帮助开发者更好地优化他们的代码,提升应用程序的响应速度和效率。
|
8月前
|
PHP
HYBBS 表白墙网站PHP程序源码 可封装成APP
HYBBS 表白墙网站PHP程序源码 可封装成APP
70 1
|
PHP
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
2206 0
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。