首页 存档 技术 查看内容

【分享】PHP5.2~5.6对比以及功能详解

2018-3-30 13:00 |来自: 互联网 405 0

摘要: 【分享】PHP 5.2~5.6 对比以及功能详解 作者:流水理鱼wwek 来源:http://www.iamle.com/archives/1530.html 截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 的 PHP5 ...

【分享】PHP 5.2~5.6 对比以及功能详解

作者:流水理鱼wwek

来源:http://www.iamle.com/archives/1530.html


截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [] PHP5.2, 其余的一半用户在使用 PHP5.3 [].
因为 PHP 集百家之长的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣。
本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征。

l PHP5.2 以前:autoload, PDO MySQLi, 类型约束

l PHP5.2JSON 支持

l PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc Nowdoc, const, 三元运算符,Phar

l PHP5.4Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改

l PHP5.5yield, list() 用于 foreach, 细节修改

l PHP5.6: 常量增强,可变函数参数,命名空间增强

注:已于20111月停止支持: http://www.php.net/eol.php
注:http://w3techs.com/technologies/details/pl-php/5/all

PHP 5.2以前

(2006)
顺便介绍一下 PHP5.2 已经出现但值得介绍的特征。

autoload

大家可能都知道 __autoload() 函数,如果定义了该函数,那么当在代码中使用一个未定义的类的时候,该函数就会被调用,你可以在该函数中加载相应的类实现文件,如:

function __autoload($classname){
require_once("{$classname}.php")
}

但该函数已经不被建议使用,原因是一个项目中仅能有一个这样的 __autoload() 函数,因为 PHP 不允许函数重名。但当你使用一些类库的时候,难免会出现多个 autoload 函数的需要,于是 spl_autoload_register() 取而代之:

spl_autoload_register(

function($classname){
require_once("{$classname}.php");
}
);

spl_autoload_register() 会将一个函数注册到 autoload 函数列表中,当出现未定义的类的时候,SPL [] 会按照注册的倒序逐个调用被注册的 autoload 函数,这意味着你可以使用 spl_autoload_register() 注册多个 autoload 函数.

注:SPL: Standard PHP Library, 标准 PHP , 被设计用来解决一些经典问题(如数据结构).

PDO MySQLi

PHP Data Object, PHP 数据对象,这是 PHP 的新式数据库访问接口。

按照传统的风格,访问 MySQL 数据库应该是这样子:


// 连接到服务器,选择数据库
$conn = mysql_connect("localhost", "user", "password");mysql_select_db("database");
// 执行 SQL 查询
$type = $_POST['type'];$sql = "SELECT * FROM `table` WHERE `type` = {$type}";
$result = mysql_query($sql);
// 打印结果
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
foreach($row as $k =

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部