国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP 5.3向更高版本遷移之新特性

macg0406 / 685人閱讀

摘要:新特性掌握的引入,可以擴(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

相關(guān)文章

  • PHP-5.3更高版本遷移之變更

    摘要:變更本部分內(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ù) ...

    Simon 評(píng)論0 收藏0
  • PHP-5.3更高版本遷移之不兼容

    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() ...

    bitkylin 評(píng)論0 收藏0
  • PHP-5.3更高版本遷移系列博客使用的php-excel文件類

    摘要: $this->getWorksheetTitle($title), data => $data ); } /** * Write workbook to file * * Writes the workbook in...

    Harriet666 評(píng)論0 收藏0
  • Laravel 5.3 預(yù)熱:10 個(gè)你需要知道的變更

    摘要:本文經(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、全文搜...

    沈建明 評(píng)論0 收藏0
  • Java 8 新特性之新的時(shí)間日期 API

    摘要:概述簡(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...

    JaysonWang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<