摘要:新特性掌握的引入,可以擴(kuò)展的內(nèi)容,使在某種形式上實(shí)現(xiàn)了多重繼承,更加靈活不能被實(shí)例化示例代碼需要注意的是,的繼承順序來自當(dāng)前類的成員覆蓋了的方法,而則覆蓋了被繼承的方法當(dāng)多個(gè)被同一個(gè)類使用的時(shí)候,會(huì)出現(xiàn)方法沖突的情況,使用關(guān)鍵詞解決示
PHP 5.4新特性
掌握
traits
trait的引入,可以擴(kuò)展class的內(nèi)容,使class在某種形式上實(shí)現(xiàn)了多重繼承,更加靈活
trait不能被實(shí)例化
示例代碼:
sayHello(); $o->sayWorld(); $o->sayExclamationMark();
需要注意的是,trait的繼承順序:
來自當(dāng)前類的成員覆蓋了 trait 的方法,而 trait 則覆蓋了被繼承的方法
當(dāng)多個(gè)trait被同一個(gè)類使用的時(shí)候,會(huì)出現(xiàn)方法沖突的情況,使用關(guān)鍵詞insteadof解決
示例代碼:
新增短數(shù)組語(yǔ)法
1, "two" => 2, "three" => 3, "four" => 4];新增支持對(duì)函數(shù)返回?cái)?shù)組的成員訪問解析
現(xiàn)在不管是否設(shè)置 short_open_tag php.ini 選項(xiàng),= 將總是可用
新增在實(shí)例化時(shí)訪問類成員
foo();ps:注意括號(hào)
SESSION 擴(kuò)展現(xiàn)在能追蹤文件的 上傳進(jìn)度
在php.ini中配置session.upload_progress.enabled = On,
就會(huì)開啟文件上傳進(jìn)度跟蹤功能max_input_vars 指令
在php.ini文件中,設(shè)定max_input_vars的值,
控制$_GET、$_POST 和 $_COOKIE的最大長(zhǎng)度
降低構(gòu)造哈希碰撞進(jìn)行拒絕服務(wù)攻擊的可能性了解
現(xiàn)在閉包支持 $this
現(xiàn)在支持 Class::{expr}() 語(yǔ)法
示例代碼:新增二進(jìn)制直接量,例如:0b001001101
PHP 5.5新特性掌握
opcache集成在php發(fā)行包
opcache實(shí)際上是zend公司的Zend Optimizer Plus,功能類同apc
它的性能優(yōu)于apc,對(duì)opcode進(jìn)行了優(yōu)化,關(guān)于opcache的更多信息
請(qǐng)移步鳥哥博客
一個(gè)關(guān)于Zend O+的小分享
因此在安裝PHP的時(shí)候,編譯參數(shù)一定要加上--enabled-opcache 推薦配置(php.ini) zend_extension=opcache.so opcache.enable_cli=1 opcache.memory_consumption=128 //共享內(nèi)存大小, 這個(gè)根據(jù)你們的需求可調(diào) opcache.interned_strings_buffer=8 //interned string的內(nèi)存大小, 也可調(diào) opcache.max_accelerated_files=4000 //最大緩存的文件數(shù)目 opcache.revalidate_freq=60 //60s檢查一次文件更新 opcache.fast_shutdown=1 //打開快速關(guān)閉, 打開這個(gè)在PHP Request Shutdown的時(shí)候,回收內(nèi)存的速度會(huì)提高 opcache.save_comments=0 //不保存文件/函數(shù)的注釋生成器(Generators)
熟悉python的同學(xué)對(duì)生成器肯定不會(huì)陌生的
其功能是在函數(shù)中使用關(guān)鍵詞yield,中斷函數(shù)執(zhí)行并返回一個(gè)能在foreach中使用的迭代器
這個(gè)語(yǔ)法應(yīng)該是PHP5.5中最令人激動(dòng)的特性了
下面的代碼演示了生成器用法,并且做了對(duì)比,用來突出生成器的優(yōu)勢(shì)= 0) { throw new LogicException("step must be -ve"); } for($i = $start; $i >= $end; $i = $i + $step) { yield $i; } } } if($cmd == 0) { $r = range(1, 1000000); foreach($r as $v) { if($v > 20) { break; } echo "$v "; } $m = memory_get_usage(true); echo " " . $m/1014/1024 . "M "; }else if($cmd == 1){ $r = xrange(1, 1000000); foreach($r as $v) { if($v > 20) { break; } echo "$v "; } $m = memory_get_usage(true); echo " " . $m / 1014 /1024 . "M "; }else{ include "php-excel.class.php"; $stime = microtime(true); if($cmd == 3) { $data = array(); for($i = 0; $i < 10000;$i++) { $data[] = range(1,100); } $xls = new Excel_XML(); $xls->addWorksheet("test", $data); $xls->writeWorkbook("test.xls", "./"); }else{ $data = function($n = 10000){ for($i = 0; $i < $n; $i++) { yield xrange(1,100); } }; $xls = new Excel_XML(); $xls->addWorksheet("test", $data()); $xls->writeWorkbook("test.xls", "./"); } $ctime = microtime(true) - $stime; $m = memory_get_usage(true); echo " " . $m / 1014 /1024 . "M "; echo "cost time:" . $ctime . "s "; }ps:php-excel.class.php文件內(nèi)容請(qǐng)參考本gist
php-excel.php新增 finally 關(guān)鍵字
示例代碼:編寫代碼的時(shí)候,一定要養(yǎng)成良好的習(xí)慣,及時(shí)的釋放打開的資源
password API
password系列函數(shù),為我們存儲(chǔ)密碼,實(shí)現(xiàn)了更簡(jiǎn)便安全的方式
密碼的存儲(chǔ)從明文到md5到md5+salt,到mcrpty+salt
password_hash默認(rèn)使用bcrypt加密算法,自動(dòng)生成salt,加密密碼
示例代碼強(qiáng)烈建議新應(yīng)用開發(fā)密碼存儲(chǔ)使用內(nèi)置password系列函數(shù)
array_column
這個(gè)函數(shù)早就應(yīng)該有了
我們從數(shù)據(jù)庫(kù)中取出10條記錄,想要拿到這十條記錄中的指定某一列,之前只能foreach了
現(xiàn)在只需要一個(gè)array_coulum函數(shù)搞定,這個(gè)函數(shù)實(shí)際意義很大,多帶帶提出來講了
示例代碼:2135, "first_name" => "John", "last_name" => "Doe", ), array( "id" => 3245, "first_name" => "Sally", "last_name" => "Smith", ), array( "id" => 5342, "first_name" => "Jane", "last_name" => "Jones", ), array( "id" => 5623, "first_name" => "Peter", "last_name" => "Doe", ) ); $first_names = array_column($records, "first_name"); print_r($first_names);熟悉
foreach 現(xiàn)在支持 list()
需要注意的是,遍歷數(shù)組的子數(shù)組個(gè)數(shù)要一樣
empty() 支持任意表達(dá)式,函數(shù)調(diào)用也可以使用empty了
了解
改進(jìn) GD
翻轉(zhuǎn)支持使用新的 imageflip() 函數(shù)
高級(jí)裁剪支持使用 imagecrop() & imagecropauto() 函數(shù)
WebP 的讀寫分別支持使用 imagecreatefromwebp() & imagewebp()另外PHP5.4和PHP5.5新增的function,新增的class,新增的interface,新增的全局常量還是挺多的
想了解的,可以查看下面鏈接
http://www.php.net/manual/zh/migration55.new-functions.php
http://www.php.net/manual/zh/migration55.classes.php
http://www.php.net/manual/zh/migration55.new-methods.php
http://www.php.net/manual/zh/migration55.global-constants.php
http://www.php.net/manual/zh/migration54.functions.php
http://www.php.net/manual/zh/migration54.classes.php
http://www.php.net/manual/zh/migration54.methods.php
http://www.php.net/manual/zh/migration54.global-constants.php
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/20605.html
摘要:變更本部分內(nèi)容不再具體區(qū)分版本號(hào)及現(xiàn)在使用作為默認(rèn)庫(kù)強(qiáng)烈建議使用庫(kù)和在編譯安裝的時(shí)候,加上如下參數(shù)擴(kuò)展現(xiàn)在需要或更高版本不再支持使用低于版本的客戶端庫(kù)連接更多變更請(qǐng)?jiān)L問下面的資源上面的變更主要是函數(shù)參數(shù)和配置指令在中 PHP5.4-5.5變更 ps:本部分內(nèi)容不再具體區(qū)分版本號(hào) mysqlnd mysql mysqli及PDO_mysql現(xiàn)在使用mysqlnd作為默認(rèn)庫(kù) ...
PHP 5.4不兼容內(nèi)容 熟悉 安全模式的移除(safe_mode),涉及到php.ini配置指令 安全模式開啟,限制PHP中的一些內(nèi)置函數(shù)的使用 代碼中如果有依賴于安全模式保障安全的內(nèi)容,需要調(diào)整 移除魔術(shù)引號(hào)(magic_quote),涉及到php.ini配置指令 魔術(shù)引號(hào)自動(dòng)對(duì)用戶提交數(shù)據(jù)轉(zhuǎn)義(包括不必要轉(zhuǎn)義的數(shù)據(jù)),性能低下 魔術(shù)引號(hào)的效果和使用 addslashes() ...
摘要: $this->getWorksheetTitle($title), data => $data ); } /** * Write workbook to file * * Writes the workbook in...
摘要:本文經(jīng)授權(quán)轉(zhuǎn)自社區(qū)說明發(fā)布臨近,大體構(gòu)建已經(jīng)完成,文檔整理完成后即可發(fā)布。附帶了一個(gè)響應(yīng)式郵件模板,通知類中唯一需要做的就是像下面這樣發(fā)送消息錯(cuò)誤處理是一個(gè)可選的擴(kuò)展包,提供了完整可用的服務(wù)。 本文經(jīng)授權(quán)轉(zhuǎn)自 PHPHub 社區(qū) 說明 Laravel 5.3 發(fā)布臨近,大體構(gòu)建已經(jīng)完成,文檔整理完成后即可發(fā)布。 下面是對(duì) Laravel 5.3 新特性的整理,不完整列表。 1、全文搜...
摘要:概述簡(jiǎn)介引入了一套全新的時(shí)間日期,操作起來更簡(jiǎn)便??梢允褂玫逆i解決的線程安全問題測(cè)試方法使用進(jìn)行格式化,是線程安全的時(shí)區(qū)設(shè)置帶時(shí)區(qū)的時(shí)間本文首發(fā)于凌風(fēng)博客新特性之新的時(shí)間日期作者凌風(fēng) 1. 概述 1.1 簡(jiǎn)介 Java 8 引入了一套全新的時(shí)間日期API,操作起來更簡(jiǎn)便。簡(jiǎn)單介紹下,LocalDate和LocalTime和LocalDateTime的使用; java.util.Dat...
閱讀 1405·2021-11-25 09:43
閱讀 2261·2021-09-27 13:36
閱讀 1114·2021-09-04 16:40
閱讀 1957·2019-08-30 11:12
閱讀 3309·2019-08-29 14:14
閱讀 566·2019-08-28 17:56
閱讀 1320·2019-08-26 13:50
閱讀 1246·2019-08-26 13:29