目錄
PHP Version之PHP5.2.x到5.3.x,php5.2.x5.3.x
首頁 後端開發 php教程 PHP Version之PHP5.2.x到5.3.x,php5.2.x5.3.x_PHP教程

PHP Version之PHP5.2.x到5.3.x,php5.2.x5.3.x_PHP教程

Jul 12, 2016 am 09:06 AM
p php

PHP Version之PHP5.2.x到5.3.x,php5.2.x5.3.x

不向下兼容的变化

1、  在5.3的所有绑定扩展中应用了新的内部参数解析API,当给函数传递不兼容的参数时将返回NULL,但有些例外,比如函数get_class()在出现错误时返回FALSE

2、  Clearstatcache() 默认不再清楚缓存的realpath。

3、  数组函数natsort(),natcasesort(),usort(),uksort(),array_flip(),和array_unique()将不再接受对象作为参数。

4、  按引用传递参数的函数在被按值传递调用时,行为发生变化。此前函数将接受按值传递的参数,现在将抛出致命错误;之前任何期待传递应用但是在调用时传递了常亮或者字面值得函数,需要在调用前将该值赋值给一个变量。

5、  新的 mysqlnd 库需要使用 MySQL 4.1 新的 41 字节密码格式。继续使用旧的 16 字节密码将导致 mysql_connect() 和其它类似函数 抛出 "mysqlnd cannot connect to MySQL 4.1+ using old authentication." 错误。

6、  新的 mysqlnd 库将不再读取 MySQL 配置文件(my.cnf/my.ini), 这与旧版本的 libmysql 库不同. 如果你的代码依赖于这些配置 文件, 你可以使用 mysqli_options() 显式地加载它. 注意, 这意味着如果 PDO 中的 MySQL 支持使用了 mysqlnd 进行编译,PDO 特有常量 PDO::MYSQL_ATTR_READ_DEFAULT_FILE 和 PDO::MYSQL_ATTR_READ_DEFAULT_GROUP 将是未定义的。

7、  __toString()魔术方法不再接受参数。

8、  魔术方法__get,__set,__isset,__unset,__call应该总是public 并且不能是static,方法签名是必须的。

9、  现在__call魔术方法在访问private和protected方法时被调用,static方法用__callStatic。

10、              函数内include或者require一个文件时,文件内将不能使用func_get_arg()、func_get_args()和func_num_args()函数。

11、              保留关键字:goto 、 namespace

 

新特性

1、  添加命名空间的支持

2、  添加静态晚绑定(后期静态绑定)支持

后期静态绑定:

原理:存储了在上一个“非转发调用”的类名。当进行静态方法调用时,该类名即为明确指定的那个(::运算符左侧的类);当进行非静态方法调用时,即为该对象所属的类。

“后期绑定”的意思是说,static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。

 

所谓的“转发调用“指的是通过以下几种方式进行的静态调用,self:: , parent:: , static:: , 以及forward_static_call()。

 

可用get_called_class()函数来得到被调用的方法所在的类名。

http://php.net/manual/zh/language.oop5.late-static-bindings.php

 

3、  添加带有限制的goto跳标签支持

4、  添加了原生的闭包支持,匿名函数,通常用作回调函数。

5、  新增两个魔术方法,__callStatic 和 __invoke

__callStatic:用静态方式调用一个不可访问的方法时使用。

__invoke 当尝试以调用函数的方式调用一个对象时,该方法被自动调用。

6、  添加了Nowdoc语法支持,类似于Heredoc语法,但是包含单引号。

7、  使用Heredoc来初始化静态变量和类属性、常量。

8、  可在类外部使用const关键词声明常量。

9、  三元运算符有了简写形式 $b = $a==1 ? : 0;

10、        HTTP 流包裹器将从 200 到 399 全部的状态码都视为成功。

11、              动态访问静态方法

12、              异常可以被内嵌

13、              新增了循环引用的垃圾回收器并且默认是开启的

14、              Mail()支持邮件发送日志。

 

SAPI模块的改变

@TODO

 

PHP 5.3弃用的功能

1、  PHP5.3新增了两个错误等级:

<strong>E_DEPRECATED</strong> 说明一个函数或者功能已经被弃用

<strong>E_USER_DEPRECATED </strong>表明用户代码中的弃用功能

2、  弃用的函数

 

3、  弃用的功能

弃用通过引用分配new的返回值(带有歧义的翻译 呵呵哒!!)

真相:不能直接引用new的返回值 $a = &new Redis();

 

调用时传递引用被弃用

 

PHP 5.3保留的功能

1、  is_a()函数被保留。

 

新参数

1、  PHP核心

round() 新增mode参数

 

strstr() 和 stristr()新增 before_needle 参数,若为 TRUE,strstr() 将返回 needle 在 haystack 中的位置之前的部分

 

Exception::__construct() - 新增 previous 参数,表明异常链中的前一个异常。

……………………………..

@TODO

 

2、  json

json_encode() 新增options参数 编码格式

json_decode() 新增depth参数 User specified recursion depth.

 

3、  流(Streams)

@TODO

 

新函数

1、  PHP核心

 

 

2、  Date/Time

date_add() 向DateTime对象增加一定的数量的天、月、年、小时、分钟、秒

date_create_from_format() 根据给定的格式返回DateTime对象。

date_diff()返回两个DateTime对象的不同之处

date_get_last_errors() 返回最后日期/时间造作产生的警告或错误

date_parse_from_format() 获取一个日期的信息

date_sub() 从DateTime对象中减去一定的时间

timezone_version_get() 返回当前时区的数据库信息

3、  Hash

hash_copy() 复制哈希环境 拷贝上下文资源

 

4、  IMAP

@TODO

5、  JSON

json_last_error() 返回最后发生json的错误

 

6、  MySQL 改进

 

…………………………..

@TODO

新的类常量

1、  PDO:: FB_ATTR_DATE_FORMAT 为日期设置格式

PDO::FB_ATTR_TIME_FORMAT - 为时间设置格式.

PDO::FB_ATTR_TIMESTAMP_FORMAT - 为时间戳设置格式.

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1065785.htmlTechArticlePHP Version之PHP5.2.x到5.3.x,php5.2.x5.3.x 不向下兼容的变化 1、 在5.3的所有绑定扩展中应用了新的内部参数解析API,当给函数传递不兼容的参数...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1250
24
PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP行動:現實世界中的示例和應用程序 PHP行動:現實世界中的示例和應用程序 Apr 14, 2025 am 12:19 AM

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP:網絡開發的關鍵語言 PHP:網絡開發的關鍵語言 Apr 13, 2025 am 12:08 AM

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP與Python:了解差異 PHP與Python:了解差異 Apr 11, 2025 am 12:15 AM

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP的持久相關性:它還活著嗎? PHP的持久相關性:它還活著嗎? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP與其他語言:比較 PHP與其他語言:比較 Apr 13, 2025 am 12:19 AM

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP和Python:代碼示例和比較 PHP和Python:代碼示例和比較 Apr 15, 2025 am 12:07 AM

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

See all articles