PHP是什么?
PHP,一个嵌套的缩写名称,是英文“超级文本预处理语言”(PHP:HypertextPreprocessor)的缩写。PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的“嵌入HTML文档的脚本语言”,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。它可以比CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,成分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要诚信编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。
PHP 是免费的,并且使用非常广泛。同时,对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。
因为门槛低,所以做网络开发的绝大多数人都用php。
PHP: Hypertext Preprocessor 超文本处理器!!!
PHP是一个脚本语言,主要应用于Web领域。
1 对于新手来说很容易上手
2 开源的框架比较多,可植入性强
3 应用于很多功能,导出上传,表格操作等,可以连接各类的数据库,执行效率高,可拓展性强
PHP程序怎么运行?
1.首先,我们需要打开电脑,然后再安装PHP编译器
2.然后,安装完成后,就可以将其拖入到工程目录下
3.然后,点击运行,然后再选择环境变量,并设置好相关参数
4.然后,等待编译完成后,就可以看到相应结果
PHP是什么?
php作为一门编程语言,根据图灵等价性,他能完成所有编程任务
通常来说,php的主要应用是服务器程序开发,这领域他的任务就是接收http请求 ,处理请求,发出http响应
比如,你在饿了么点餐。第一步,你需要给服务器发一个请求,“请告诉我附近5km范围内都有哪些火锅店,我的位置是东精xxx,北纬yyy”,php收到请求,“坐标xxx,yyy,火锅店,半径5km”,php去数据库查询这些数据,然后把这些数据发给你的手机
PHP主要用于web网站服务端开发
每种编程语言都有其专门的应用方向,比如:python主要面向数据处理、C主要面向嵌入式、C++面向应用程序设计。
而PHP主要是面向web网页应用的服务端设计,php + mysql + apache/nginx + linux 架构被称为经典的网站搭建架构体系,这个体系用的最多也最成熟。当然像python/java这些语言也具备网站开发的能力,但是所谓术业有专攻,其在web开发的影响力还远远及不上PHP。
PHP框架众多
php具备很多成熟的框架可以选择,常用的有:
- thinkphp
- laraval
- yii
- yaf
每种框架都有自身具备的特点,如:
ThinkPHP
中国人开发的PHP框架,因此具备非常完善的中文参考资料,目前也很流行,非常适合中国的开发者使用,如果你的英文不好,又想快速上手PHP,那它是很好的选择。
Laraval
就全世界来讲它是最流行的PHP框架了,因此学习资料也很多,如果你的公司想选取一个框架作为公司web应用的统一开发框架,那可以选它。
Yii
这个框架也很流行,是美籍华人薛强开发的,不得不说中国人太聪明了。这个框架是我目前正在使用的框架,它的优点是代码集成度很高,如果你熟练掌握了这个框架,可以快速开发出优质代码,工具也很完善,如:migrate数据迁移和版本维护、Gii自动脚本生成工具等。但是它的优点也是它的缺点,集成度太高导致学习成本很高,不建议初入PHP的人学习。
Yaf
这个框架性能最好,极简的设计风格使得它的运行速度是所有PHP框架中最快的。但是性能的提升是以牺牲开发效率换来的,举个例子:它无法同时提供多个数据库的访问能力。
PHP对比其他语言的WEB开发能力
Java Spring
java也可以开发web应用,也有一个框架叫做spring boot,但是目前就这一个框架可用,没有控制台应用,没有migrate数据版本控制能力,数据库的访问也需要在xml里写原生sql(这种方式太原始也不安全)。
Python Flask
这个框架其实就是一个插件,可以提供http服务的插件,因此并没有项目目录结构可以参考,你只要像编写python的常规代码一样使用flask就可以了,当然了,它也没有migrate,数据库访问也麻烦,数据格式交互(json互转)特别麻烦,实在是不建议选择。