PHP技术与应用基础
PHP概述
了解PHP的历史,安装Apache和PHP.
一、什么是PHP
PHP(Hypertext Preprocessor,超文本预处理器)是运行在服务器端的一种通用开源脚本语言。在学习PHP之前需要对HTML、CSS、和JavaScript有一定的了解,因为php文件可包含文本、HTML、CSS、JavaScript代码和PHP代码,PHP文件的后缀名默认为“.php”。
更多相关介绍:百度百科-PHP:https://baike.baidu.com/item/PHP/9337?fr=aladdin
二、PHP的历史
1995年初,PHP1.0诞生
Rasmus Lerdof发明了PHP,这是简单的一套Perl脚本,用来跟踪访问者的信息。这个时候的PHP只是一个小工具而已,它的名字叫做“Personal Home Page Tool”(个人主页小工具)。
1995年6月,PHP2.0诞生
Rasmus Lerdof用C语言来重新开发这个工具,取代了最初的Perl程序。这个新的用C写的工具最大的特色就是可以访问数据库,可以让用户简单地开发动态Web程序了。这个用C写的工具又称为PHP/FI。它已经有了今天php的一些基本功能了。
1998年6月,PHP3.0诞生
虽然说98年6月才正式发布php3.0,但是在正式发布之前,已经经过了9个月的公开测试了。Andi Gutmans和Zeev Suraski加入了PHP开发项目组。这是两个以色列工程师,他们在使用PHP/FI的时候发现了PHP的一些缺点,然后决定重写PHP的解析器。注意,在这个时候,PHP就不再称为Personal Home Page了。而改称为PHP:Hypertext Preprocessor。
2000年5月,PHP4.0发布
Andi Gutmans和Zeev Suranski在4.0做的最大的动作就是重写了PHP的代码,发明了Zend引擎来增强程序运行时的性能和PHP的模块性。这个Zend实际上就是Andi和Zeev名字缩写的合称。使用了Zend引擎,PHP获得了更高的性能之外,也有其他一些关键的功能,包括支持更多的web服务器;HTTP Session的支持;输出缓冲等。
2004年7月,PHP5.0发布
PHP5.0的核心是Zend引擎2代。它引入了新的对象模型和大量的新功能。比如引入了PDO(PHP Data Object)。
2015年,PHP7.0发布
2015年6月11日,PHP官网发布消息,正式公开发布PHP7第一版的alpha版本。PHP7 是 PHP 编程语言全新的一个版本,主要在性能方面获得了极大的提升。官方的文档显示,PHP7 可以达到 PHP5.x 版本两倍的性能。同时还对 PHP 的语法做了梳理,提供了很多其他语言流行的语法格式。难能可贵的是,做了如此大的改动,PHP7 的兼容性还是非常好的。对于绝大多数的应用来讲, 可以不用做修改即可迁移到 PHP7 版本。
现在通常使用的PHP版本是PHP5.0+和PHP7.0+。
三、PHP 的优势
- 简单易学,它的语法混合了C语言、Java语言和Perl语言的特点。
- 开源,开源代码具有更强的可靠性和安全性。
- 跨平台,PHP可以支持所有的服务器操作系统,例如:Windows、Linux。
- 面向对象,具有所有面向对象的特点。
- PHP可以同时使用多个数据库,其中和MySQL的搭配最佳。
- 速度快,PHP是一种强大的CGI脚本语言,其执行网页的速度比Perl、ASP等速度更快,占用系统资源更少。
四、PHP的用途
- PHP可以生成动态页面内容
- PHP可以创建、打开、读取、写入、关闭服务器上的文件。
- PHP可以收集表单数据。
- PHP可以发送和接收Cookies。
- PHP可以添加、删除、修改数据库中的数据。
- PHP可以限制用户访问网站上的一些页面。
- PHP可以加密数据。
- 使用PHP可以不再受限于输出HTML,还可以输出文本、图像、PDF文件,伸着Flash影片。
五、PHP的环境搭建
(1)WAMPSERVER
对于PHP初学者来说,通常会选择使用WAMP环境来配置服务器环境。
WampServer是一款由法国人开发的Apache Web服务器、PHP解释器以及MySQL数据库的整合软件包。免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发。WampServer就是Windows Apache Mysql PHP集成安装环境,即在window下的apache、php和mysql的服务器软件。
WAMPSERVER官网:http://www.wampserver.com/
WAMPSERVER的安装与配置
(2)Apache的配置与安装
Apache官网: http://www.apache.org/
XAMPP: https://www.apachefriends.org/index.html
XAMPP的安装与配置
由于在2015年以后,官方不再提供Apache-http-server的Windows编译版本,因此如果我们需要下载Windows编译版本,则需要从第三方下载,如ApacheHaus,Apache Lounge,BitNami WAMP Stack,WampServer和XAMPP。同时,我们可以从任意第三方选择要下载的编译包。
六、PHP常用的代码编辑工具
PHP的开发工具有很多,并且每一种开发工具都有自己的优势,一款适合自己的开发工具,可以使PHP开发变得更加轻松和高效。
1.https://notedpad-plus-plus.org/
Notedpad++是一款文本编辑器,软件小巧高效,支持多种编程语言,如C、C++、Java、C#、XML、HTML、PHP、JavaScript等。
2.https://code.visualstudio.com/
Visual Studio Code 是编写现代 Web和云应用的跨平台源代码编辑器。
3.https://sublimetext.com/
Sublime Text 是一个轻量级的编辑器,也支持各种编程语言。
4.https://atom.io/
Atom 是 GitHub 专门为程序员推出的一个跨平台文本编辑器。
5.http://www.dcloud.io/
HBulider 是一款国产的前端开发工具。
6.http://www.eclipse.org/
Eclipse 是一款支持各种语言开发的集成环境,为程序开发提供了很多强大的功能,是一款老牌的开发工具。
7.http://www.zend.com/
Zend Studio 是目前公认的最强大的 PHP 开发工具,具备十分专业的编辑功能,调试工具等,目前 Zend Studio 是一款收费软件,提供免费的试用版。
- Authors
- 杜小白
PHP技术与应用基础相关推荐
- Linux技术研究-基础篇(raid与LVM,配额)
Linux技术研究-基础篇(raid与LVM,配额) 创建RAID-5 若想建立新的md1设备 只在/dev下建立还不够 重启后会消失 固化的方法是 为了使udev自动产生/dev/md1, /dev ...
- 计算机应用基础试题事业单位,机关事业单位技术工人计算机应用基础知识复习题...
机关事业单位技术工人计算机应用基础知识复习题 工人技师 计算机考试试题库 公共部分 5.在 Windows 中,文件名的最大长度为___256 个西文或者 128 个汉字________. 6.制作网 ...
- CV:计算机视觉技术之图像基础知识(二)—图像内核的可视化解释
CV:计算机视觉技术之图像基础知识(二)-图像内核的可视化解释 目录 图像内核的可视化解释 测试九种卷积核 官方Demo DIY图片测试 DIY实时视频测试 相关文章 CV:计算机视觉技术之图像基础知 ...
- CV:计算机视觉技术之图像基础知识(二)—以python的skimage和numpy库来了解计算机视觉图像基础(图像存储原理-模糊核-锐化核-边缘检测核,进阶卷积神经网络(CNN)的必备基础)
CV:计算机视觉技术之图像基础知识(二)-以python的skimage和numpy库来了解计算机视觉图像基础(图像存储原理-模糊核-锐化核-边缘检测核,进阶卷积神经网络(CNN)的必备基础) 目录 ...
- CV:计算机视觉技术之图像基础知识—以python的cv2库来了解计算机视觉图像基础
CV:计算机视觉技术之图像基础知识-以python的cv2库来了解计算机视觉图像基础 目录 一.图像中的傅里叶变换 1.时域和频域 2.傅里叶变换 3.图像中的傅里叶变换
- CV:计算机视觉技术之图像基础知识(一)—以python的cv2库来了解计算机视觉图像基础(傅里叶变换-频域-时域/各种滤波器-线性-非线性-均值-中值-高斯-双边)
CV:计算机视觉技术之图像基础知识(一)-以python的cv2库来了解计算机视觉图像基础(傅里叶变换-频域-时域/各种滤波器-线性-非线性-均值-中值-高斯-双边) 目录 一.图像中的傅里叶变换 1 ...
- Linux技术研究-基础篇(启动和自动挂载)
Linux技术研究-基础篇(启动和自动挂载) 系统启动流程 如果有一天你的服务器启动不了,面对屏幕上的各种各样的提示素手无策. 你不知道服务器出了什么问题,无法判断启动到了哪个环节. 若想排查出问题原 ...
- ps_基础技术提升topic基础知识调研
基础技术提升topic基础知识调研结果 基础技术提升topic基础知识调研结果分类 大类 小类 调研提出的问题 C类 编译与调试 如何追core?对gdb的了解还是太浅,应用中有很多问题. 怎么在没有 ...
- Web前端系列技术之HTML基础(从入门开始)①
Web前端系列技术之HTML基础(从入门开始)① 从这里开始,我便开始记录每天重新学习巩固HTML语言的过程,这不仅仅是为了提高自己的熟练度,更是为了让自己的博客一步一步的见证我走向前端全栈工程师这条 ...
- 一头扎进httpclient企业跨域技术从零基础到大神实战案例
一头扎进httpclient企业跨域技术从零基础到大神实战案例 一头扎进httpclient企业跨域技术从零基础到大神实战案例 一头扎进httpclient企业跨域技术从零基础到大神实战案例 下载地址 ...
最新文章
- Flex 布局详解 - 转自阮一峰老师
- BZOJ2437 [Noi2011]兔兔与蛋蛋 【博弈论 + 二分图匹配】
- 两列布局左边定宽,右边自适应
- xtrabackup mysql 5.6_MySQL 5.6对于Xtrabackup的影响
- XmlSerializer 对象的Xml序列化和反序列化,XMLROOT别名设置
- iOS 去除警告 看我就够了
- 【R】语言第二课----- 变量的使用方法
- python字符串最大长度_字符串String的最大长度
- C++ 最大堆最小堆与push_heap pop_heap
- java避免活锁.死锁的解决,java并发编程(九): 避免活跃性危险
- python自带数据库是什么意思_原来Python自带了数据库,用起来真方便!
- 甘特图 知乎_哪一款甘特图软件最好用?
- Android studio成品源码项目计步器锻炼跑步步数,该计步器实现了实时计步,设定计划提醒
- 通过Docker安装L2TP
- vue中引入高德地图并多点标注
- 微商如何通过自媒体平台进行引流
- 什么是Hadoop的HA机制?
- python去除图片多余的白色边框
- 什么是三层交换机?二层交换与三层交换和路由有什么区别?
- java 实现99乘法表
热门文章
- 说说Mac上的截图快捷键
- uni的numberbox怎么用_模拟器最强BIOS篇,如何使用uni-bios
- simkai.ttf 中文楷体文件
- Unity(13)-场景切换,保留资源
- 【Python】摄氏度与华氏度互相转化
- Majoy实地体验和冰糖樱桃酱等3个食谱
- Window10 打开ftp服务
- python selenium unittest_使用python学习selenium2--使用unittest进行测试
- 幼儿抽象逻辑思维举例_熊孩子到底在想什么—幼儿思维干货速记!
- openssl自签名ca证书,以及签发服务端/客户端证书