一、PHP是什么意思
PHP是Personal Home Page的缩写,已经更名为 "PHP: Hypertext Preprocessor",即"超文本预处理器",是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入Html中。PHP语言作为一种高级语言,其特点是开源,在设计体系上属于C语言体系。PHP同时支持面向对象和面向过程的开发,使用上非常灵活。
PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。PHP可以让很多接受过高等教育的初学者能很快接受并完成入门学习,简单好上手容易找工作自然粉丝多。根据W3Techs2021年9月16号发布的统计数据,PHP在WEB网站服务器端使用的编程语言所占份额约为80%。
二、PHP语言的特点
PHP的语法类似于C语言, 但又省去了复杂的地址操作, 加入了面向对象的概念, 简洁的语法规则, 相对其他语言编辑简单、实用性强, 使PHP成为容易学习和使用的语言。因为其解释器是开源的, 导致了在所有的操作系统平台都可以非常稳定地运行, 这也是其能够广泛应用的原因之一。PHP语言的特点有:
1、开源免费
PHP是一个受众大并且拥有众多开发者的开源软件项目,Linux + Nginx + MySQL + PHP是它的经典安装部署方式,相关的软件全部都是开源免费的,所以使用PHP可以节约大量的正版授权费用。不过PHP作为一个开源软件,它缺乏大型科技公司的支持背景,网络上对它的唱衰也是经久不衰,不过它的持续迭代和性能持续增强的现实却是鼓舞人心的,PHP社区用实际行动给予各种质疑强有力的回击。
2、快捷高效
PHP的内核是C语言编写的基础好效率高,可以用C语言开发高性能的扩展组件;PHP的核心包含了数量超过1000的内置函数,功能应有尽有很全面,开箱即用程序代码简洁;PHP数组支持动态扩容,支持以数字、字符串或者混合键名的关联数组,能大幅提高开发效率;PHP是一门弱类型语言,程序编译通过率高,相对其他强类型语言开发效率快。
3、跨平台
每个平台都有对应的php解释器版本,指针对不同平台均编译出目标平台的二进制码(PHP解释器),php开发的程序可以不经修改运行在windows、linux、unix等多个操作系统上。
4、数据库连接的广泛性
PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。
5、面向过程和面向对象并用
在PHP语言的使用中,可以分别使用面向过程和面向对象, 而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。
6、动态图像处理
用PHP动态创建图像,PHP图像处理默认使用GD2。且也可以配置为使用image magick进行图像处理。
三、PHP的运行机制
PHP常见的运行模式有2种,分别是php-fpm和php-cli。当PHP 选择运行在php-fpm模式下,所有的变量都是页面级的,无论是全局变量还是类的静态成员,都会在页面执行完毕后被清空。运行在php-cli模式下可以实现程序常驻内存,各种变量和数据库连接都能长久保存在内存实现资源复用,性能可以得到很大的提升,php-cli开发比较复杂能但是能够获取更高的性能,对开发者的要求比较高需要比较高的开发水平,比较常用的模式是结合swoole组件编写cli框架,各种变量能保存在跨进程的高性能共享内存 Table,可以开发出支持热启动的php-cli可靠各类应用系统。
php-fpm在PHP 5.3.3版本成为了官方正式组件(2010-07-22),它提供了稳定可靠的进程管理服务,进程不足时候可以智能扩充数量,闲置时候可以自动回收销毁多余的进程,同时它对程序的容错能力很强大运行非常稳定,可以应付企业级的开发需求。php-fpm友好的完成了使用HTTP/HTTPS等TCP/IP互联网协议下进行的用户的输入输出,页面级生命周期各种资源用完即释放,不存在内存泄漏的问题。php-fpm也提供有一些常驻内存的技术支持,例如PHP 7.4引入的opcache.preload也能实现局部的PHP类和函数的常驻内存,不过这个方法不够灵活,和服务器配置捆绑的太死了。
php-cli因为能实现各类资源的常驻内存,所以可以资源复用,更高效完成多进程编程和异步编程,可以开发出负载能力更高的应用系统。但是相对php-fpm的简单编程开发,开发者要注意很多的事项和需要做很多附加的控制器开发,否则就无法实现期待中的高性能。
四、PHP的优点
1、第一个是简单,PHP比其他任何的语言都要简单,入门的话PHP真的是可以一周就入门。如果有学习C和Perl的很容易上手,并且跟ASP有部分类似。有成熟的开发工具,比如NuPHPed,或者Zend Studio等等,再Linux平台下可以使用Eclipse等等。
2、PHP的功能非常强大,因为PHP官方的标准库和扩展库里提供了做服务器编程能用到的99%的东西。PHP的PECL扩展库里你想要的任何的功能。
3、另外PHP有超过20年的历史,生态圈是非常大的,在Github可以找到很多代码。
4、有很多成熟的框架,比如支持MVC的框架:phpMVC,支持类似Asp.net的事件驱动的框架:Prado,支持类似Ruby On Rails的快速开发的框架:Cake等等,足够满足你的应用需求。
5、PHP提供了许多参考资料,手册和教程来辅助开发,可以在遇到开发问题的时候,给开发人员提供帮助。 作为Web开发的新手,这些文档有助于增长并简化学习过程,循序渐进地掌握较为复杂的知识点。
6、目前已经很多大型应用都是使用PHP,比如淘宝网、Yahoo、163、Sina等等大型门户,很多选用PHP来作为他们的开发语言,应用十分广泛。
五、PHP的缺点
1、性能比较差,因为是动态脚本,不适合做密集运算,如果同样的 PHP 程序使用 C/C++ 来写,PHP 版本要比它差。
2、函数命名规范差, PHP更讲究实用性,一些函数的命名是很混乱的,所以每次你必须去翻PHP的手册。
3、只支持web开发,不方便做 .exe文件,不方便做桌面应用程序. 不方便做手机程序。
4、不适合做爬虫、自动运行脚本.科学运算项目,这语言基本构架就不适合,虽然有很多方法实现。
六、常见PHP框架
PHP框架就是一种可以在项目开发过程中,提高开发效率,创建更为稳定的程序,并减少开发者重复编写代码的基础架构。PHP框架是将不同Web系统开发过程中的共性、通用部分功能进行抽象,形成开发Web程序的基本架构(换句话说,PHP开发框架封装了底层的操作,把Web程序开发摆到了流水线上)。进行Web系统开发时,开发人员如果在PHP框架基础上进行二次开发,即可大大简化开发过程,快速实现系统功能。PHP框架能促进Web系统的快速开发、节约时间、减少重复代码量,并能帮助初学者创建规范、稳定的Web系统。常见PHP框架有:
1、WordPress内容管理系统(CMS)
功能强大、扩展性强,易于扩充功能;搭建的博客对SEO搜索引擎友好,收录快排名靠前;网站上主题多,各色各样应有尽有;有强大的社区支持,有上千万的开发者贡献和审查。
2、ThinkPHP
ThinkPHP是一个由国人开发的快速、兼容而且简单的轻量级PHP开发框架。诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP。ThinkPHP遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式。使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了对数据库的常用操作,单一入口模式等。在模板引擎、缓存机制、认证机制和扩展性方面均有独特的表现。
3、Yii
Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。Yii几乎提供了如今Web2.0应用开发所需要的一切功能,事实上,Yii也是最有效率的PHP框架之一。
4、Zend Framework
Zend Framework是由Zend公司开发的PHP框架,可用于开发Web程序和服务。Zend Framework采用MVC架构模式来分离应用程序中不同的部分,从而方便程序的开发和维护。
5、CakePHP
CakePHP是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该框架的主要目标是让各种层次的PHP开发人员都能快速灵活地开发健壮的Web应用。
6、Codelgniter
Codelgniter(CI)也是一个比较老牌的PHP框架。和ZF相反,它非常小巧,核心类库仅有1MB左右。使用起来比较简单,代码框架遵循常见的MVC结构。但是CI的类库封装得还不够精细,某些框架层次感觉设计得过于烦琐;另外CI的文档做得不是很好,特别是缺乏良好的中文文档,这大大阻碍了CI框架在国内的普及。
七、PHP常见问题
1、PHP与html的关系
PHP就是对html的页面进行管理的,对包含有PHP代码的页面中进解析,从而达到页面动态添加与管理,比如我们的论坛,博客。
2、PHP与数据库
PHP对html进行管理,那么我们要修改添加的内容存在哪呢,于是就有了数据库,PHP通过连接数据库来对数据进行增加,修改,删除,查询。
3、PHP可以做什么用
PHP是一种开源脚本语言,利于学习,使用广泛,主要适用于Web开发领域,比如PHP能开发微信公众号、公司官网、商城系统、微信小程序、博客等。
总结
优化猩SEO:PHP在WEB网站服务器端使用的编程语言所占份额约为80%,创建大量了Web应用程序,Linux + Nginx + Mysql + PHP是PHP的经典安装部署方式,相关软件均是开源免费的,PHP还拥有大量的开源框架,便于开发者进行应用程序的搭建。
参考链接:
PHP(计算机编程语言)_百度百科
https://baike.baidu.com/item/PHP/9337
PHP框架_百度百科
https://baike.baidu.com/item/PHP%E6%A1%86%E6%9E%B6/5845631
php的缺点_深入解读PHP语言的优劣势,看清代码的本质-CSDN博客
https://blog.csdn.net/weixin_32143729/article/details/115093217
浅谈PHP优缺点 - 简书
https://www.jianshu.com/p/d5526e579eb6
修改于2023-09-10