问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PHP 版本5.1.6和版本5.4.14 有哪些功能上的区别

发布网友 发布时间:2022-04-06 01:52

我来回答

4个回答

懂视网 时间:2022-04-06 06:13

php5.3和php5.4的区别:1、php5.4增加了数组的简写形式;2、php5.4增加了Traits;3、自php5.4开始,内置一个轻量级的web服务器;4、php5.4新增了动态访问静态方法的方式。

1、Short Open Tag 自 PHP5.4 起总是可用

(推荐教程:php视频教程)

在这里集中讲一下有关 PHP 起止标签的问题。即:

<?php
// Code...
?>

通常就是上面的形式,除此之外还有一种简写形式:

<? /* Code... */ ?>

还可以把

<?php echo $xxoo;?>

简写成:

<?= $xxoo;?>

这种简写形式被称为 Short Open Tag, 在 PHP5.3 起被默认开启,在 PHP5.4 起总是可用。使用这种简写形式在 HTML 中嵌入 PHP 变量将会非常方便。

对于纯 PHP 文件(如类实现文件), PHP 官方建议顶格写起始标记,同时 省略 结束标记。这样可以确保整个 PHP 文件都是 PHP 代码,没有任何输出,否则当你包含该文件后,设置 Header 和 Cookie 时会遇到一些麻烦

注:Header 和 Cookie 必须在输出任何内容之前被发送。

2、数组简写形式

这是非常方便的一项特征!

// 原来的数组写法
$arr = array("key" => "value", "key2" => "value2");
// 简写形式
$arr = ["key" => "value", "key2" => "value2"];

3、Traits

所谓Traits就是“构件”,是用来替代继承的一种机制。PHP中无法进行多重继承,但一个类可以包含多个Traits.

// Traits不能被单独实例化,只能被类所包含
trait SayWorld
{
 public function sayHello()
 {
 echo 'World!';
 }
}
class MyHelloWorld
{
 // 将SayWorld中的成员包含进来
 use SayWorld;
}
$xxoo = new MyHelloWorld();
// sayHello() 函数是来自 SayWorld 构件的
$xxoo->sayHello();

Traits还有很多神奇的功能,比如包含多个Traits, 解决冲突,修改访问权限,为函数设置别名等等。

4、内置 Web 服务器

PHP从5.4开始内置一个轻量级的Web服务器,不支持并发,定位是用于开发和调试环境。

在开发环境使用它的确非常方便。

php -S localhost:8000

这样就在当前目录建立起了一个Web服务器,你可以通过 http://localhost:8000/ 来访问。
其中localhost是监听的ip,8000是监听的端口,可以自行修改。

很多应用中,都会进行URL重写,所以PHP提供了一个设置路由脚本的功能:

php -S localhost:8000 index.php

这样一来,所有的请求都会由index.php来处理。

你还可以使用 XDebug 来进行断点调试。

5、细节修改

PHP5.4 新增了动态访问静态方法的方式:

$func = "funcXXOO";
A::{$func}();

新增在实例化时访问类成员的特征:

(new MyClass)->xxoo();

新增支持对函数返回数组的成员访问解析(这种写法在之前版本是会报错的):

print func()[0];

热心网友 时间:2022-04-06 03:21

5.1.6并不是一个标志性的版本,是不是写错了呢,5.2.6是标志性版本哦。php5.3之前最稳定的版本就是5.2.6了,从5.3开始支持namesapce和intl扩展(非默认安装),5.4开始默认关闭了全局变量,并且增加了一种新的代码书写格式,具体忘记了,你可以从更新日志中看到。

一般来说现在推荐使用php5.3系列,5.4的新特性在实际应用中几乎不会被使用(因为考虑到兼容性问题)

太细致的更新谁也记不住,大致就是以上了。

值得一提的就是,Zend的代码加密及解密程序对于php5.3和php5.2提供了不同的版本,无法兼容。

热心网友 时间:2022-04-06 04:39

区别在于:
后前比前者功能增多了,安全增强了,舍弃了一些函数,新增了一些函数。

但不建议使用。

因为php5.4.x目前仍是测试的阶段。

建议使用5.2.17 - 5.3.x为佳追问能具体点吗?舍弃哪些函数新增哪些函数。

追答我想我说的够具体了。

就比如json_encode 5.1.x 是没有的。

ereg又在5.3.x 之后所舍弃。。。。。

。。。。

你看看手册就知道了

我不一一列出来

热心网友 时间:2022-04-06 06:14

功能没什么区别但是性能提升了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在公交车上实施扒窃,会受到怎样的处罚? 交通违法行为识别 公交车扒窃会如何处罚? 郑州鱼缸清洗找哪家公司做得比较好? 郑州有没有专业维修鱼缸,清洗鱼缸的? ...的鱼缸,放在办公室养些鱼水草之类的。郑州哪里有卖这样的鱼缸。_百... 我们公司想要定做个观赏鱼缸,不知道郑州哪家公司最专业? 谁知道郑州生态鱼缸定做哪家做的效果最好? 联想电脑启用无线功能的功能键? 笔记本电脑怎么连接网笔记本电脑怎样连接无线网 php不同版本区别大吗? 空间提供商 php5.2/5.3/5.4 什么意思 php的几个版本的区别 php中单引号和双引号的区别,哪个速度更快?为什么? php编程的双引号和单引号是什么区别呢? 单引号、双引号在PHP中有什么区别? php中既然可以直接用类名调用类中的方法和属性,那还声明对象干嘛? 这不是多此一举吗? php自动加载实现加载不同文件夹相同类名问题 PHP同一个类方法调用? 关于php的类名 PHP大小写问题:函数名和类名不区分,变量名区分 thinkphp同一命名空间中得类名可以相同吗 php 建两个相同类名的类使用不同的命名空间不能建立? PHP中不同文件夹使用相同的命名空间,相互之间应该如何调用呢?能不能举例说明一下。 类方法和PHP内置函数同名会有什么问题? - 技术问答 PHP中类名与方法名一样是何意,与function __construct()如何区分 thinkphp5中php类名与方法名相同,是怎样做到不报错的 php类文件中,类文件名和方法名要一样吗 PHP的类名和方法名还有属性名能一样么? sublime编译php 怎么去掉警告 PHP 5.4 or PHP5.3 选择? 学PHP4和PHP5是一样的吗? php版本越新越好吗 php4与php5区别具体有哪些? 如何选择不同的PHP版本 php 5.3 跟 5.2 有哪些差别 php5.3与5.3以下版本的区别 PHP5.5 和PHP5.6的区别 如何把php5.3版本升级到php5.4或者php5.5 php5.2和php5.3哪个好 现在要升级php5.4已上的版本,怎么升级 PHP5.3与5.5废弃与过期函数有哪些 xdebug 各版本有什么区别 php数组如何转换为js数组? 举例如下: php数组转js数组 PHP数组中的值如何传递给JS数组中? - 技术问答 php二维数组转为js二维数组? 如何将PHP数组的数据插入到javascript数组中 如何将php数组或者对象传递给javascript thinkphp php数组 转换 Js数组[]