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

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__ 来解决路径问题

分享到:
评论

相关推荐

    php5.3,5.4,5.6,版本

    标题提及的“php5.3,5.4,5.6”是PHP的三个重要版本,每个版本都有其特定的特性和改进,下面将分别对这三个版本进行详细的阐述。 **PHP 5.3 版本** PHP 5.3在2009年发布,引入了许多新特性,旨在提高开发效率和代码...

    php_redis for php5.3 x64.zip

    《PHP Redis扩展在Windows 7环境下64位系统的安装与配置》 PHP Redis扩展是PHP与Redis数据库交互的重要工具,它...这将使你的PHP应用能够充分利用Redis的高性能特性和丰富的数据结构,为你的Web应用带来更高的效率。

    搭建IIS7(FastCGI)+php5.3+MySQL+phpMyAdmin服务器环境.pdf

    版本5.3为PHP带来了新的特性和性能改进,但同时这一版本在2017年已经停止维护,因此在实际部署时建议使用更新的版本以获得更安全和稳定的体验。 MySQL是一个流行的开源关系型数据库管理系统,用于存储和管理网站...

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

    在处理旧PHP系统与PHP5.3之后版本的库兼容性问题时,首先需要了解的是,尽管某些旧系统最初没有使用PHP5.3以上的命名空间特性进行编码,但只要这些系统运行在PHP5.3或更高版本的环境中,它们就可以使用基于新特性的...

    IIS6+php5.3+FASTCGI+mysql+phpmyadmin配置手册.pdf

    【标题】:“IIS6+php5.3+FASTCGI+mysql+phpmyadmin配置手册.pdf” 【描述】:这份配置手册详细介绍了如何在IIS6环境下搭建PHP5.3、FASTCGI、MySQL5.1以及phpmyadmin的环境。 【标签】:“PHP” 在Windows IIS6上...

    php-5.3.5-nts-Win32-VC6-x86.zip

    通常,这意味着对于使用这种特定组合(32位、VC6、非线程安全)的环境,5.3.5将是用户可以获取的最新版本,之后的更新可能不再支持这些特性。 标签"PHP-5.3.5"、"nts"、"win32"、"vc6"和"x86"进一步强调了这个...

    php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错

    在PHP 5.3之后,直接使用等号 `=` 进行对象实例化即可,无需使用赋值引用 `=&`。这是因为PHP 5.3及以后的版本中,对象实例化会自动返回引用,所以不再需要显式地指定。如果遇到`Deprecated: Assigning the return ...

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

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

    PHP5.3与5.5废弃与过期函数整理汇总

    PHP5.3之后建议使用新的时区处理函数替代。 PHP5.3的变动较大,废弃了很多旧函数和特性,对于习惯了旧版本的开发者来说,需要较多的代码重构工作。 ### PHP5.5废弃与过期的函数: 1. **mcrypt相关的函数**: ...

    php各版本下载地址.doc

    PHP 7.1、7.2、7.3和7.4分别在之后几年发布,每个版本都带来了一些新特性和性能优化。例如,7.1增加了匿名类和返回类型提示,7.2增强了错误处理,7.3引入了FPM的性能提升,而7.4则支持了箭头函数和弱引用。 8. PHP ...

    PHP 5.3新增魔术方法__invoke概述

    但在PHP 5.3及之后的版本中,如果对象的类定义了__invoke方法,则可以直接对该对象进行调用操作,就像调用一个普通的函数一样。当对象以函数的方式被调用时,PHP就会自动调用对象的__invoke方法。这个特性非常有用,...

    php语言历史版本更新概要php4-php7(20151209)

    PHP5.3的重要更新: 1. **参数传递**:按引用传递参数的函数在按值调用时会导致致命错误。 2. **魔术方法**:如`__toString`不再接受参数,魔术方法应为公共且非静态,需要指定签名。 3. **访问控制**:`__call`在...

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

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

    PHP5各个版本的新功能和新特性总结

    ### PHP5.3的新特性: #### 1. 弃用的功能和新增功能: - PHP5.3弃用了`register_globals`,`safe_mode`等配置指令,这对于安全性和性能都有正面影响。 - 引入了**匿名函数**,也称为闭包,使得编写更加灵活的代码...

    php-5.4.28.tar.gz

    1. **PHP 5.4 版本**:这是PHP的一个重要版本,发布于2013年,引入了许多新特性,如 Trait(类型)支持,用于代码重用,增强了面向对象编程;Short array syntax([]代替array()创建数组),使得语法更简洁;以及...

    PHP介绍.pdf

    PHP4之后停止更新,鼓励用户迁移到PHP5,而PHP5.3增加了更多功能。PHP6的开发也在进行中,计划移除如register_globals、magic_quotes和Safe mode等功能,以提高安全性。 【PHP的主要特性】 1. 开源免费:PHP的源...

    php54 mssql

    `mssql`是PHP早期用于MSSQL的扩展,但在PHP 5.3之后被`sqlsrv`和`pdo_sqlsrv`取代,因为它们提供了更好的性能和更多的功能。`php_sqlsrv`是微软官方提供的驱动,主要用于非PDO接口,而`pdo_sqlsrv`则是基于PDO的接口...

    PHP-5.3.15-Win32-VC9-x64

    PHP 5.3.x系列引入了许多新特性,例如晚期静态绑定,这使得在面向对象编程中更灵活地处理静态方法调用。此外,还增强了命名空间的功能,使得代码组织和复用更加高效。另外,此版本还包括对闭包(closures)的完整...

Global site tag (gtag.js) - Google Analytics