《细说PHP》 第四版 样章 第二章 PHP的应用与发展 3
2.3 PHP的开发优势
每种编程语言都有针对的领域,当然相同领域也有多个编程语言可以选择, 所以需要了解每种编程语言的优势和劣势,才能更好地去选择使用,在对的开发领域充分发挥它的优势,编写出最优质的产品。PHP的一些基本优势总结如下。
2.3.1 简单易学
PHP是一种强大的脚本语言,语法混合了C、Java、Perl和PHP式的新语法,和C/C++、Java等相比,PHP更容易上手。随着PHP的发展,功能越来越完善,最重要的是PHP是一种开源脚本语言,程序代码清晰,是弱类型语言,比强类型语言代码随意得多。另外,常用的数据结构都内置了,使用方便,表达能力相当灵活,还支持面向过程和面向对象两种开发模式并行。PHP非常活跃,从事PHP程序开发的人越来越多,学习资料也越来越全面。PHP环境部署也方便,新手只需要短短数日便可上手。但写好PHP并不容易,事实上用PHP把业务写完很容易,但能把业务写好则需要非常扎实的基本功。虽然入门较为容易一些,但对于一些中大型的项目架构、数据分析、业务流程和算法等,也是需要在项目中长期积累经验才能完成得更好。
2.3.2 开发效率高
PHP专为Web而生,Web开发需要的相关协议、请求响应、各种数据流、加密处理等几乎都内置了。加上PHP和MySQL这对黄金搭档之间的配合,操作数据库的方便性是其他语言比不了的,和Web服务器Apache的配合也堪称完美。最主要的是,PHP是动态语言、弱类型,最新版的PHP 7增加了类型提示,让你的代码更加灵活,还有PHP语言中数组和字符串是开发中是最常用的类型,操作及其快捷。PHP还支持组件开发,可以借用Laravel、Yii等框架,快速组合程序架构,程序员只需要把精力放在业务流程的编写上即可,而PHP又特别适合对业务流程的编写。基于这些特点,在Web开发中PHP相对其他编程语言,开发速度最少能快2倍以上。
2.3.3 开发成本低
PHP开发软件速度快,可以缩短开发周期,降低开发成本。PHP程序员多数都必会一些前端技能,也适合做前端开发程序员,也就代表着企业可以用一个人做两个人的工作。从部署服务器的维度,PHP不受平台束缚,可以在UNIX、Linux等众多操作系统中架设基于PHP的Web服务器。采用Linux+Apache+PHP+MySQL这种开源免费的框架结构可以为企业经营者节省一笔开支。另外,PHP好用的框架是最多的,PHP可用于二次开发的产品也是最多的。在使用PHP开发时,如果自己的项目和已有的开源产品匹配,都会直接选择二次开发,这是最快的,只需要简单修改一些模块,就可以开发出自己的项目。如果没有直接可匹配的产品,现在也都是基于框架基础上进行开发,很少有程序员会从底层一步步构建自己的项目。所以开发成本低是企业选择PHP语言开发项目的主要因素。
2.3.4 程序执行效率高
在所有的开发语言中,PHP代码执行速度一定不是最快的,毕竟PHP是解释型的脚本语言,并不是像编译型语言那样,生成机器语言直接交给CPU去执行,而是需要使用解释器先处理一下。例如,中国人和美国人对话,编译型相当于两个人用中文直接对话,而解释型类似中间需要一个翻译。所以PHP的执行效率并没有编译型的语言效率高。但解释型语言的好处是,依赖解释器,跨平台性好。开发时不需要有编译的操作和等待时间,开发效率会快一些。不过, 开发Web项目几乎都在用解释型语言, 而PHP内嵌Zend加速引擎,消耗相当少的系统资源,算是解释型脚本语言中最快的。最主要是现在使用的PHP 7版本,虽然在功能和以往版本比升级不大,但对Zend引擎做了深度优化,使得PHP的执行效率提高很多倍。其实,一个网站的运行速度受编程语言的影响不大,最主要的差异是在操作数据库和其他资源上,如果解决得不好,耗时会很明显。而PHP和MySQL的完美配合,和其他Web开发组合相比,能解决很多在对数据库连接和查询上的消耗。另外,程序的执行效率和算法、业务逻辑有很大关系,而PHP最擅长的就是编写业务逻辑,能使用极少的代码将业务流程实现,也就意味着服务器会少执行很多步骤,运行速度也就会更快。
2.3.5 安全性良好
PHP是开源软件,所有PHP的源代码每个人都可以看到,代码在许多工程师手中进行了检测,同时它与Apache编译在一起的方式也可以让它具有灵活的安全设定,所以PHP具有了公认的安全性能。开源造就了强大、稳定、成熟的系统。
2.3.6 功能强大
PHP在Web项目开发过程中具有极其强大的功能,而且实现相对简单,不仅可以跨平台运行,还可操纵多种主流与非主流的关系型数据库和非关系型数据库。可与轻量级目录访问协议进行信息交换,还可与多种协议进行通信。包含丰富的扩展库,可以在各个互联网领域进行应用。PHP还可以使用Composer 帮你安装一些依赖的库文件,管理依赖关系的工具,用户可以在自己的项目中声明所依赖的外部工具库。另外,PHP的自定义接口安全、方便,可作为多种类型软件的服务器端开发。总之,现在主流语言中有的功能,PHP几乎都存在,而且PHP 7在某些方面的功能还更盛一筹。
2.3.7 可选择性多
使用PHP可选择性多,优点是根据需求可以自由选择搭配,而这也是PHP的缺点,选择得多信息量就大,需要学习的内容也就会增加。例如,在架构组合方面,PHP是跨平台的,能够用在所有的主流操作系统上,包括Linux、UNIX、Microsoft Windows、Mac OS X、RISC OS等。PHP也支持大多数的Web服务器,包括Apache、Nginx、IIS等。PHP可选择的数据库是最多的,几乎所有主流的数据库PHP都支持,另外在PHP中连接操作数据库的技术可选的也很多。在环境安装方面,可以选择在不同的操作系统下独立安装各个软件包,也可以直接使用集成的软件开发环境。在开发模式上,既可以选择面向过程的方式开发,也可以选择面向对象的思想开发,或者两者混合的方式来开发。还有就是在开发过程中,可选择的框架非常丰富,可选择的模板引擎也有很多种,当然根据项目需求可选择的二次开发的产品更是琳琅满目。



《细说PHP》 第四版 样章 第二章 PHP的应用与发展 3的更多相关文章
- 《细说PHP》第四版 样章 第二章 PHP的应用与发展 1
<细说PHP>第四版 样章 第二章 PHP的应用与发展 1 学习任何编程语言之前,先了解一下它的应用与发展是很有必要的.从Web开发的历史看来,PHP.Python和Ruby几乎是同时出现 ...
- 《C++Primer》第五版习题答案--第二章【学习笔记】
C++Primer第五版习题解答---第二章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/9 第二章:变量和基本类型 练习2.1: 类 ...
- Linux第一章第二章学习笔记
第一章 Linux内核简介 1.1 Unix的历史 它是现存操作系统中最强大最优秀的系统. 设计简洁,在发布时提供原代码. 所有东西都被当做文件对待. Unix的内核和其他相关软件是用C语言编写而成的 ...
- Windows程序设计(第五版)学习:第二章 Unicode简介
第二章 Unicode简介 1,Windows通过双字节技术DBCS解决这个问题,代码页定义不同的字符集,称为ANSI字符集,比如日文为CP932,韩文为CP949,繁体中文为CP950,简体中文为C ...
- c#高级编程第七版 学习笔记 第二章 核心c#
第二章 核心C# 本章内容: 声明变量 变量的初始化和作用域 C#的预定义数据类型 在c#程序中使用条件语句.循环和跳转语句执行流 枚举 名称空间 Main()方法 基本的命令行c#编译器选项 使用S ...
- CSS3秘笈复习:第一章&第二章&第三章
第一章: 1.<cite>标签不仅可以将网页设置为斜体,还能给标题做上标记,使它便于被搜索引擎搜索到. 第二章: 1.import指令链接样式表: CSS本身有一种添加外部样式的方法:@i ...
- Practical Vim 第一章 & 第二章
第一章:Vim 解决问题的方式 前言 本质上讲,我们的工作是重复性的.凡是可以简化重复性操作的方式,都会成倍地节省我们的时间. Vim 对重复性操作进行了优化.它之所以能高效地重复,是因为它会记录我们 ...
- Linux内核设计与实现 第一章 第二章
第一章 Linux内核简介 Unix特点: (1) Unix很简洁,仅仅提供几个几百个系统调用并且有一个非常明确的设计目的 (2) 在Unix中,所有的东西都被当作文件对待,通过一套相 ...
- 《细说PHP》 第四版 样章 第二章 PHP的应用与发展 5
2.5 如何学习PHP PHP以其简单易学的特点,以及敏捷开发的优势,从一个几乎不被人知的开源项目,慢慢成长为技术人员首选的动态Web设计工具,与其他语言相比,PHP表现得更好.更快.更简单易学.尽 ...
- 《细说PHP》 第四版 样章 第二章 PHP的应用与发展 4
2.4 PHP的发展 最初创建时,PHP是一个简单的用Perl语言编写的程序,只是为了统计自己的网站有多少访问者.后来又用C语言重新编写,多年来,PHP经过无数开源贡献者的不断迭代,历经数个版本,已 ...
随机推荐
- right join 和left join 的区别
SQL 数据库 right join 和left join 的区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中 ...
- C#的语法----程序结构(1)
接下来的内容是整个C#学习的脉络,它将各个知识点串联了起来,是整个C#的重点,所以篇幅较长. 首先,我们类比一下PLC和C#执行代码的方式,其实不难发现都是顺序扫描,以Main为程序入口,从上到下一行 ...
- [洛谷P1169][题解][ZJOI2007]午餐
这是题目吗? 显然的DP,讲几个重要的地方 1.贪心:让吃饭时间长的先排队(证明从略) 2.状态: f[i][j][k]代表前i个人,一号时间j,二号时间k显然MLE 所以压缩成f[i][j]代表前i ...
- 运行java可执行jar包
导出与导入:如果要用别的项目的类, 把对方类export出成jar包(多个类的集合),然后复制到自己项目路径下然后添加至构建路径,jar包右键buildpath/addtobuildpath.expo ...
- HTTP常见响应状态码及解释、常用请求头及解释
1.HTTP常见响应状态码及解释2XX Success(成功状态码) 200 表示从客户端发来的请求在服务器端被正常处理204 该状态码表示服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主 ...
- input函数的运用和注意 小知识点
首先先写出代码来 Name=input('请输入你的名字:') print(Name) 终端的显示如下: 请输入你的名字: 与之前的所有的函数有一个巨大的不同点,就是在终端处,我们可以输入任意的内容. ...
- API收藏
1.百度图片api get 方法$word = '北海';//要搜索的词$num = 3;//要搜索的数量$url = 'https://image.baidu.com/search/acjson?t ...
- 基于SSM的crm管理系统
学完crm后的第一个项目实践,前端样式与标签库都是现成的. 开发环境 eclipse,mysql,jdk1.7 项目架构 整合思路 Dao层: 1.SqlMapConfig.xml,添加别名,但是需要 ...
- asp.net MVC通用权限管理系统-响应式布局-源码
一.Angel工作室简单通用权限系统简介 AngelRM(Asp.net MVC Web api)是基于asp.net(C#)MVC+前端bootstrap+ztree+lodash+jquery技术 ...
- JPA的基本注解
场景 JPA入门简介与搭建HelloWorld(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103473937 ...