返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php5.2和5.3有什么区别
  • 647
分享到

php5.2和5.3有什么区别

php5.2php5.3区别 2015-07-11 05:07:07 647人浏览
摘要

php5.2和5.3的区别有:1、php5.3弃用了Register Globals、Magic Quotes等功能;2、新增了魔术方法__invoke()、__callStatic();3、支持用const定义常量。

本文操作环境:windows10系统、PHP 5.2&&php 5.3、thinkpad t480电脑。

很多小伙伴可能不太了解php 5.2和php 5.3之间有什么区别。下面我们就来具体介绍下这两个版本之间有什么区别,具体的区别在哪里,一起来看下吧。

我们先来看下php 5.2这个版本。

php5.2(2006-2011)

JSON的支持
       增加了json_encode(),json_decode()等函数

接着我们来看下php 5.3这个版本。

php5.3(2009-2012)

PHP5.3 算是一个非常大的更新,新增了大量新特征,同时也做了一些不向下兼容的修改,一起来看下。

弃用的功能

以下几个功能被弃用,若在配置文件中启用,则 PHP 会在运行时发出警告。

ReGISter Globals
Magic Quotes
Safe Mode

匿名函数

f u n c = f u n c t i o n ( func=function(func=function(arg){
echo $arg;
}
$func(‘hello’);

新增了魔术方法 __invoke(),__callStatic();

随着匿名函数的加入,PHP 引入了一个新的魔术方法 __invoke().
该魔术方法会在将一个对象作为函数调用时被调用:
class A
{
    public function __invoke($str)
    {
        print "A::__invoke(): {$str}";
    }
}

$a = new A;
$a("Hello World");
输出毫无疑问是:  A::__invoke(): Hello World

__callStatic() 则会在调用一个不存在的静态方法时被调用。

命名空间,但不完善,只支持类

后期静态绑定

Heredoc 和 Nowdoc

对 Heredoc 以及 Nowdoc 进行了一些改进,它们都用于在 PHP 代码中嵌入大段字符串

用 const 定义常量

PHP5.3 起同时支持在全局命名空间和类中使用 const 定义常量。

旧式风格:
define("XOOO", "Value");
新式风格:

const XXOO = "Value";
const 形式仅适用于常量,不适用于运行时才能求值的表达式:
// 正确
const XXOO = 1234;
// 错误
const XXOO = 2 * 617;
(在5.6版后可以了)

三元运算符简写形式

旧式风格:

echo $a ? $a : “No Value”;

可简写成:

echo $a ?: “No Value”;

即如果省略三元运算符的第二个部分,会默认用第一个部分代替。

Phar

Phar即PHP ArcHive, 起初只是Pear中的一个库而已,后来在PHP5.3被重新编写成C扩展并内置到 PHP 中。

Phar用来将多个 .php 脚本打包(也可以打包其他文件)成一个 .phar 的压缩文件(通常是ZIP格式)。

目的在于模仿 Java 的 .jar, 不对,目的是为了让发布PHP应用程序更加方便。同时还提供了数字签名验证等功能。

.phar 文件可以像 .php 文件一样,被PHP引擎解释执行,同时你还可以写出这样的代码来包含(require) .phar 中的代码:

require(“xxoo.phar”);
require(“phar://xxoo.phar/xo/ox.php”);

--结束END--

本文标题: php5.2和5.3有什么区别

本文链接: https://www.lsjlt.com/news/207.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • https和md5有什么区别
    https是用于解决传输层安全问题的网络协议,其核心是基于公钥密码学理论实现了对服务器身份认证、数据的私密性保护以及对数据完整性的校验等功能,https是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安 ...
    872
    2023-03-22
    HTTPS md5
  • php和it有什么区别
    php和it的区别:1、php是一种计算机编程语言,而it一般指互联网技术;2、php是在服务器端执行的脚本语言,而it是指在计算机技术的基础上开发建立的一种信息技术。 ...
    680
    2023-03-22
    php it
  • php和web有什么区别
    php和web的区别:1、PHP即“超文本预处理器”,是在服务器端执行的脚本语言,而web是全球广域网,也称为万维网,它是一种分布式图形信息系统;2、PHP适用于Web开发并可嵌入HTML中,而web通常是指网站服务器。 ...
    720
    2023-03-22
    php web
  • html5和web前端有什么区别
    本篇文章为大家展示了html5和web前端有什么区别,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。区别:html5是一种技术的集合,包括html5,CSS3,JS等技术;而web前端是一种职业,其涉 ...
    469
    2023-03-22
    html5
  • DIV+CSS3和html5+CSS3有什么区别
    这篇文章主要讲解了“DIV+CSS3和html5+CSS3有什么区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“DIV+CSS3和html5+CSS3有什么区别”吧!不管是DIV+CSS3 ...
    927
    2023-03-22
    css3 html5
  • es6和es5有什么区别
    这篇文章主要介绍了es6和es5有什么区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。es6和es5的区别:1、es6新增了箭头函数,es5没 ...
    870
    2023-03-22
    es6 es5
  • wxml与html5有什么区别
    这篇文章跟大家分析一下“wxml与html5有什么区别”。内容详细易懂,对“wxml与html5有什么区别”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“wxml与html5有什么 ...
    617
    2023-03-22
    html wxml
  • php中int和intval有什么区别
    php中int和intval的区别:1、int是指Integer整型,intval是指用于获取变量整数值的函数;2、int的强制转换与intval函数在超出各种类型显示的最大值时,intval如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的整数值,int类型有指定的最大值。本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑php中int和intval有什 ...
    550
    2023-03-22
    php
  • php中cgi和fcgi有什么区别
    php中cgi和fcgi的区别:cgi是“common gateway interface”的缩写,指的是通用网关接口,而fcgi是“fast common gateway interface”的缩写,指的是快速通用网关接口。“php-cgi”是CGI协议的实现,“PHP-FPM”是FCGI协议的实现。本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑php中cgi和fcgi有 ...
    225
    2023-03-22
    php
  • php中getenv和server有什么区别
    php中getenv和server的区别:1、getenv可获取系统的环境变量,语法为“string getenv(string varname)”,而“$_SERVER”是服务器超级全局变量数组;2、getenv不支持IIS的isapi方式运行的PHP,“$_SERVER”支持。本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑php中getenv和server有什么区别PH ...
    412
    2023-03-22
    php
  • php fgetc()和fgets()间有什么区别
    区别:1、fgetc()用于从打开的文件中读取一个字符,并返回一个包含有一个字符的字符串;而fgets()用于从打开的文件中读取一行数据,并返回指定长度的字符串。2、fgetc()函数只接受一个参数,而fgets()函数可接受两个参数。 ...
    222
    2023-03-22
    php fgetc() fgets()
  • php-fpm和swoole有什么区别
    区别:1、“PHP-FPM”只适用于HTTPServer,而swoole不仅用于HTTPServer,还可建立TCP连接;2、“PHP-FPM”通过FastCGI协议监听Nginx传输请求,而swoole通过Reactor监听事件变化。 ...
    133
    2023-03-22
    PHP
  • php中nts和ts有什么区别
    php中nts和ts的区别:ts表示线程安全,多线程访问时采用了加锁机制,当一个线程访问该类的某个数据时其他线程不能同时访问;而nts表示非线程安全,不提供线程访问保护,多个线程可以同时操作同一数据。 ...
    140
    2023-03-22
    PHP
  • PHP中include和require有什么区别
    这篇文章主要介绍了PHP中include和require有什么区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PHP include vs. requirerequire ...
    535
    2023-03-22
    php include require
  • Mysql8和mysql5.7有什么区别
    小编给大家分享一下Mysql8和mysql5.7有什么区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1. NoSql存储Mysql从5.7 版本提供了NoSQL的存储功能,在8.0中这部分得到一些修改,不过这个在实际中 ...
    609
    2023-03-22
    mysql
  • ado与php有什么区别
    ado与php的区别:1、ADO是一项微软的技术,是一个访问数据库中数据的编程接口,而PHP是一种通用开源脚本语言;2、ADO会随微软的IIS被自动安装使用,而PHP脚本是在服务器上执行等等。 ...
    423
    2023-03-22
    ado php
  • css3和less有什么区别
    本篇文章给大家分享的是有关css3和less有什么区别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。区别是:1、Less是一门CSS预处理语言,c ...
    442
    2023-03-22
    css less
  • ssl和l2tp有什么区别
    ssl与l2tp的区别:1.概念不同,ssl是一种安全协议,可通过Internet安全地发送信息,而l2tp是一种工业标准为Internet隧道协议。2.l2tp是应用层协议,基于UDP,而ssl可在传输和应用层中工作。3.用法不同,ssl ...
    663
    2023-03-22
    SSL
  • php中intval和floor函数有什么区别
    区别:1、intval()函数是直接舍去小数部分来取整;而floor()函数在参数大于1时,舍去小数部分来取整,当参数小于1时,会舍去小数部分,并在整数的基础上加1。2、intval()函数可进行进制转换,floor函数不行。 ...
    588
    2023-03-22
    php intval floor
  • php中语言结构和函数有什么区别
    区别:1、语言结构比对应功能的函数快;2、语言结构不能在配置文件“php.ini”中禁用,而函数可以禁用;3、语言结构不能被用做回调函数,而函数可以。 ...
    936
    2023-03-22
    php 语言结构 函数
热门问答
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作