当前位置:首页 > 技术 >

php简单介绍(php 使用教程)

来源:原点资讯(www.yd166.com)时间:2023-04-17 03:41:19作者:YD166手机阅读>>

PHP简介

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

PHP是通用服务器端脚本编程语言,其主要用于web开发以实现动态web页面,它也是最早实现将脚本嵌入HTML源码文档中的服务器端脚本语言之一。同时,php还提供了一个命令行接口,因此,其也可以在大多数系统上作为一个独立的shell来使用。Rasmus Lerdorf于1994年开始开发PHP,它是初是一组被Rasmus Lerdorf称作“Personal Home Page Tool”的Perl脚本,这些脚本可以用于显示作者的简历并记录用户对其网站的访问。后来,Rasmus Lerdorf使用C语言将这些Perl脚本重写为CGI程序,还为其增加了运行Web forms的能力以及与数据库交互的特性,并将其重命名为“Personal Home Page/Forms Interpreter”或“PHP/FI”。此时,PHP/FI已经可以用于开发简单的动态web程序了,这即是PHP 1.0。1995年6月,Rasmus Lerdorf把它的PHP发布于comp.infosystems.www.authoring.cgi Usenet讨论组,从此PHP开始走进人们的视野。1997年,其2.0版本发布。

1997年,两名以色列程序员Zeev Suraski和Andi Gutmans重写的PHP的分析器(parser)成为PHP发展到3.0的基础,而且从此将PHP重命名为PHP: Hypertext Preprocessor。此后,这两名程序员开始重写整个PHP核心,并独立出来于1999年发布了Zend Engine 1.0,这也意味着PHP 4.0的诞生。2004年7月,Zend Engine 2.0发布,由此也将PHP带入了PHP5时代。PHP5包含了许多重要的新特性,如增强的面向对象编程的支持、支持PDO(PHP Data Objects)扩展机制以及一系列对PHP性能的改进。

PHP Zend Engine

Zend Engine是开源的、PHP脚本语言的解释器,它最早是由以色列理工学院(Technion)的学生Andi Gutmans和Zeev Suraski所开发,Zend也正是此二人名字的合称。后来两人联合创立了Zend Technologies公司。

Zend Engine 1.0于1999年随PHP 4发布,由C语言开发且经过高度优化,并能够做为PHP的后端模块使用。Zend Engine为PHP提供了内存和资源管理的功能以及其它的一些标准服务,其高性能、可靠性和可扩展性在促进PHP成为一种流行的语言方面发挥了重要作用。

Zend Engine的出现将PHP代码的处理过程分成了两个阶段:

PHP刚开始用户访问都是直接由解释器解释,加入zend之后就成了用户访问时要先编译在执行二进制格式结果是第一次访问要编译而第二次直接访问二进制速度提升。首先是分析PHP代码并将其转换为称作Zend opcode的二进制格式(类似Java的字节码)并将其存储于内存中;第二阶段是使用Zend Engine去执行这些转换后的Opcode(Opcode只能在Zend引擎当中运行)。

PHP架构图

php简单介绍,php 使用教程(1)

SAPI提供了一个和外部通信的接口,使得PHP可以和其他应用进行交互数据。php默认提供了很多种SAPI,常见的给apache的mod_php5,CGI,给IIS的ISAPI,还有Shell的CLI。对于一个基于apache的php应用,其运行流程可以简单归结如下:

apache -> httpd -> mod_phpfastcgi -> sapi -> php

PHP的Opcode

Opcode是一种PHP脚本编译后的中间语言,就像Java的ByteCode,或者.NET的MSL。当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode)。Opcode cache的目地是避免重复编译,减少CPU和内存开销。如果动态内容的性能瓶颈不在于CPU和内存,而在于I/O操作,比如数据库查询带来的磁盘I/O开销,那么opcode cache的性能提升是非常有限的。但是既然opcode cache能带来CPU和内存开销的降低,这总归是好事。

PHP执行PHP脚本代码一般会经过如下4个步骤(确切的来说,应该是PHP的语言引擎Zend):

Scanning(Lexing) ——将PHP代码转换为语言片段(Tokens) Parsing ——————将Tokens转换成简单而有意义的表达式 Compilation ———将表达式编译成Opocdes Execution ————顺次执行Opcodes,每次一条,从而实现PHP脚本的功能

栏目热文

php底层源码分析(php底层源码真实感受)

php底层源码分析(php底层源码真实感受)

文章来自:php自学中心工作这么多年,也面试过很多PHP工程师,我发现很多PHP工程师只停留在使用框架的层面,然而对框架...

2023-04-17 04:22:59查看全文 >>

php框架的底层原理(php各种框架的优缺点)

php框架的底层原理(php各种框架的优缺点)

本文分6个主题进行讲解PHP运行机制和原理PHP底层变量数据结构PHP传值赋值中的COW特性PHP垃圾回收机制PHP中数...

2023-04-17 03:57:46查看全文 >>

php底层深度解析(php底层学习教程)

php底层深度解析(php底层学习教程)

PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。PHP是一种适用于web开发的...

2023-04-17 03:56:59查看全文 >>

php 用什么开发(php用的什么工具开发的)

php 用什么开发(php用的什么工具开发的)

首先,我们先普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如编写一篇文章,下载一首MP3...

2023-04-17 03:57:29查看全文 >>

php是不是最简单的(php用什么写的)

php是不是最简单的(php用什么写的)

此篇文章是想总结下工作中一直在用的一个简单的PHP框架,真的是超级简单,解析步骤如下:访问:https://abc.co...

2023-04-17 03:59:05查看全文 >>

php框架的原理(php三大框架)

php框架的原理(php三大框架)

PHP框架的原理说到PHP框架,可能很多PHP新手会感到有些胆怯。其实,PHP框架也不是那么深不可测的,框架就是别人使用...

2023-04-17 04:24:32查看全文 >>

手机接龙报名怎么操作(如何用微信接龙报名)

手机接龙报名怎么操作(如何用微信接龙报名)

我是【树洞爸爸爱分享】,持续分享【小学生学习资源】和【实用办公资源】,点击右上方【关注】,让您省心、省时、省力。想一想,...

2023-04-17 04:11:09查看全文 >>

报名接龙小程序(报名接龙工具小程序怎么退出)

报名接龙小程序(报名接龙工具小程序怎么退出)

1、打开手机微信,在搜索框中输入,报名接龙搜索小程序;2、打开报名接龙小程序,点击下方我来发起,输入发布内容并报名发布即...

2023-04-17 03:44:32查看全文 >>

群里接龙报名格式(怎样在群里接龙报名写名字)

群里接龙报名格式(怎样在群里接龙报名写名字)

不知道大家是否记得微信之前上线的一项新功能“群接龙”,当时我们只需要在微信群中输入「1、(任意文字)」「2、」后就会出现...

2023-04-17 04:16:09查看全文 >>

怎么把报名改成接龙(接龙报名怎么样添加自己名字)

怎么把报名改成接龙(接龙报名怎么样添加自己名字)

使用接龙管家快速在微信群内发起活动报名统计,相信大家在微信群中经常会遇到发起一个活动,让大家报名参与、同时还需要收集报名...

2023-04-17 04:01:49查看全文 >>

文档排行