`
guoyiqi
  • 浏览: 965901 次
社区版块
存档分类
最新评论

PHP5.3之后的新特性

 
阅读更多

从PHP4到PHP5,实现了由个人开发语言到专业互联网的发展,见证着PHP从山寨走上正规大军的发展。PHP6还在酝酿中,相信PHP5会作为PHP6小试牛刀的场地。 PHP5.3是PHP5的一个里程碑,加入了大量新特性。PHP功能是越来越多了,但是PHP的语法却越来越丑陋,有时加入了新功能,而新功能又带来了新问题,为了修复问题又要加入新的语法来修复。没有PHP的基础的朋友也不用担心,先对PHP5.3有个基本的了解。等学完后面知识再回过头来看PHP5.3的新特性你会有个全新的理解和感悟。

1、首先对之前滥用的语法进行了规范

众所周知PHP在语言开发过程中有一个很好的容错性,导致在数组或全局变量中包含字符串不使用引号是可以不报错的,很多业余的开发者因为懒惰而产生的安全问题十分严重,之所以PHP5.3对所有基本的语法进行了重新整理和提高写作规范,其实对PHP开发者来讲写作上并没有太大的影响,只是让他们变的更加专业。

2、MySQL驱动Mysqli 提高效率

一直以来,php都是通过mysql客户端连接mysql,而现在mysql官方已经推出php版的mysql客户端,而这个mysqlind有效降低内存的使用以及提高性能

(1)编译php更方便了,不需要libmysql,已经内置在源码中

(2)使用php许可,避免版权问题

(3)使用php的内存管理,支持php内存限制(memory_limit)

(4)所有数据在内存只有一份,之前的libmysql有两份

(5)提供性能统计功能,帮助分析瓶颈

(6)在驱动层增加缓存机制

3、PHP5.3安全和性能的提升

如md5()大概提高了10%-15%的性能,更好的内存处理机制,提高软件性能的访问。解决了include(require)_once重复打开的问题,之前once都是用静态变量实现的,用gcc4编译的二进制文件将更小,整体性能提高了5%-15%

4、延迟静态绑定

PHP的静态是在预编译时就固定好的,所以在继承的时候,父类里的self指的是父类,而不是子类。而php5.3加入了新的语法static,可以在运行时候捕捉当前类

5、更多新特性

(1)名字空间,用来解决命名被污染

(2)新的魔法函数 __callStatic 原来 __call的静态模式

(3)支持变量调用静态,可以通过$someClass::$method()调用

(4)新增日期函数date_create_from_format

(5)新增了类似JavaScript中的匿名函数和闭包

(6)新魔法常量 __DIR__ 来解决路径问题

分享到:
评论

相关推荐

    如何在旧的PHP系统中使用PHP 5.3之后的库

    但是,只要你的系统运行在 PHP 5.3及以上的环境,在你的老系统中,是可以使用这些基于新特性如命名空间编码的库或代码的。 以前只是有洁癖不用而已。 比如,我是个工具控,想让所用的禅道系统也像那些国际化开源 ...

    PHP 匿名函数与注意事项详细介绍

    PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,Phar ...现在基本上都使用PHP5.3以后的版本,但是感觉普遍一个现象就是很多新特性,过了

    php-7.0.20-nts-Win32-VC14-x64 php7.0资源下载

    PHP7 ,将会是PHP脚本语言的重大版本更新,同时将带来大幅的性能改进和新的特性,以及改进一些过时功能。该发布版本将会专注在性能加强,源自PHP版本树中的phpng分支 . . 截止到目前为止,PHP官方已经发布了php7的...

    浅谈PHP 闭包特性在实际应用中的问题

    PHP5.3 新版本跟随了很多新特性, 其中比较惹眼的特性之一就是支持了闭包。那么以后,我们也可以和那帮写 Ruby、Javascript 等等“高科技语言”的家伙们一样,写出非常酷的代码吗?

    PHP闭包(Closure)使用详解

    于是乎在网上下了个WAMP集成开发环境,是PHP5.3版本的(PHP5.3开始引入了闭包的特性),不得不说WAMP安装使用真的很方便。简单配置了一下,开始动手。  匿名函数提到闭包就不得不想起匿名函数,也叫闭包函数...

    PHP6 mysql连接方式说明

    如果在升级到PHP5.3以后,数据库连接时出现mysql_connect()[2002] tcp://localhost:3306 的错误提示时. 需要将localhost改成127.0.0.1,或者将连接方式由tcp改为socket. 在使用phpmyadmin这类工具时,也可以按照上述...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    由于PHP代码能够无障碍的添加进你的站点,在你设计和维护站点的同时,你可以很轻松的加入PHP使得你的站点更加具有动态特性。 - 数据库连接 PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的...

    PHP 命名空间和自动加载原理与用法实例分析

    php5.3 之后引入了命名空间的特性,从本质上讲,命名空间就是一个容器,你可以将类、函数和变量放在其中,在命名空间中,你可以无条件地访问这些项,在命名空间之外,必须导入或引用命名空间,才能访问它所包含的项...

    PHP连接MSSQL2005的扩展插件.

    微软专门为PHP出了个SQL Server的扩展(当然是Windows版本的),用了一下发现还是很好用的,对于Windows下使用php开发SQL Server应用来说,这个扩展有利于兼容性以及充分利用SQL Server特性。 PHP本身有个...

    PHP CodeIgniter框架的工作原理研究

    另一方面,CI却没有与时俱进,并不支持PHP5.3之后的一些特性,导致它相对更适合较老一些的项目。虽然如此,CI仍是一个优秀的框架,而且它本身内核较小,源码优雅,适于学习。 CI易于使用,可以方便的开发出web应用。...

    PHP3程序设计

    尤其值得注意的是,书中使用了多个“中场”章节,以便在学习过一定知识之后,通过实际例子来对所学的知识进行巩固,这些章节介绍的内容具有很强的实用价值。因此本书不仅对Web编程的入门者,即使对于有一定经验的Web...

    羊驼CMS v3.6.2

    羊驼! 是一个开源的轻量级树状 CMS 系统。同时支持 Mysql 和 Sqlite。可以方便快速的配置出个人、... v3.6.2更新如下:3.6 之后的版本将同时支持 mysql 和 sqliteSqlite 需要 php5.3 以上支持1. 修复了 Sqlite esca

    SentCMS网站管理系统最新官方版

    PHP5.3以上版本(注意:PHP5.3dev版本和PHP6均不支持) 支持的服务器和数据库环境 支持Windows/Unix服务器环境 可运行于包括Apache、IIS和nginx在内的多种WEB服务器和模式 支持Mysql、MsSQL、PgSQL、Sqlite、Oracle...

    正则表达式经典实例.pdf

    本书旨在教会读者很多新的技巧以及如何避免语言特定的陷阱,读者可以通过本书提供的实例解决方案库来解决实践中的复杂问题。 作者简介 Jan Goyvaerts领导着Just Great Software公司,他在这个公司设计和开发了一些...

    正则表达式经典实例

    本书旨在教会读者很多新的技巧以及如何避免语言特定的陷阱,读者可以通过本书提供的实例解决方案库来解决实践中的复杂问题。 作者简介 Jan Goyvaerts领导着Just Great Software公司,他在这个公司设计和开发了一些...

Global site tag (gtag.js) - Google Analytics