php技术分享
PHP PROGRAMMING 1、PHP简介和发展定义:PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。一种适用于web开发的动态语言。具体点说:就是一个用c语言实现包含大量组件的软件框架。更狭义点看,可以把它认为是一个强大的ui框架。发展历程:Php1 Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本(personal home page) RasmusPhp2 1996年发布,基本完善的包(?PHP 的一些雏型,像是类似 Perl 的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力)Php3 1998第一个官方正式版发行,提供最终用户数据库访问、协议、api等Php4 php的核心被称为zend,性能有了显著的提升,(zend提供了脚本优化器,可以把源码转化为二进制编译代码),增加了web服务器支持(apache,iis),同时提供了一些跨平台的技术支持(包括java、.net)(2000)Php5 最大特点是引入了面向对象的全部机制,引进了类型提示和异常处理机制。(2004)2、PHP特性开发的源代码 所有的PHP源代码事实上都可以得到免费和其它技术相比,PHP本身免费Php快捷性 程序开发快,运行快,技术本身学习快。嵌入于HTML:因为PHP可以被嵌入于HTML语言,它相对于其他语言。跨平台性面向对象 在php4,php5 中,面向对象方面都有了很大的改进,现在php完全可以用来开发大型商业程序trait A{ public function foo();}trait B{ public function bar() { return; }}class C{ use A, B; public function execute() { echo $this->bar(); }}2.1PHP5特性1、 PHP5 中的对象已经进行了较系统、较全面的调整,现在的样子可能看起来会有些类似于?/view/29.htmJava*?构造函数和析构函数 对象的引用 * 对象的克隆 对象中的私有、公共及受保护模式 接口 (Interfaces) 抽象类 __call__set 和 __get 静态成员2、异常处理在 PHP5 已经加入了这方面的应用。你可以尝试使用 “try” 和 “catch” 来控制程序的错误。当有错误发生的时候,代码会把错误交给 “catch” 子句来处理,在 “catch” 子句中,你需要指明要把错误交给某个对象处理,这样做可以使代码结构看起来更清晰,因为现在我们可以把所有的错误信息交给一个对象来处理。3、居然引入了scalar中Traits(特质)的概念,熟悉scalar的朋友都知道Traits是一个介于Class和Interface之间的东西,它是抽象的定义,但是跟接口不同的是可以包括实际的方法和成员变量,而跟abstract class不同的是,它可以是多重的!这将让php的oop特性更加丰富,不过我也悲观地认为这会让众多php的草根们对oop的概念更加混乱3、PHP应用现状PHP已经成为网络上使用最为广泛的编程语言,超过%75的WEB程序使用PHP来编写。PHP被安装在超过2200万个域名的网站服务器上。比较出名的应用1、facebook2、新浪微博、百度贴吧3、wordpress4、 Wiki:MediaWiki MediaWiki是PHP语言写成开源Wiki引擎,全世界最大的Wiki项目维基百科就是使用MediaWiki引擎5、 phpMyadmin?phpMyAdmin是用PHP开发的MySQL的数据库管理工具。可以在Web界面上实现各种各样对MySQL数据库的管理和操作4、PHP四层结构这就是我们平时编写的php程序,通过不同的sapi方式得到各种各样的应用模式,如通过webserver实现web应用、在命令行下以脚本方式运行等等Sapi全称是Server Application Programming Interface,也就是服务端应用编程接口,sapi通过一系列钩子函数,使得php可以和外围交互数据围绕着zend引擎,extensions通过组件式的方式提供各种基础服务,我们常见的各种内置函数(如array系列)、标准库等都是通过extension来实现,用户也可以根据需要实现自己的extension以达到功能扩展、性能优化等目的(如贴吧正在使用的php中间层、富文本解析就是extension的典型应用)。APPLICATIONSAPIZend整体用纯c实现,是php的内核部分,它将php代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的处理并实现相应的处理方法、实现了