首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 5.x 版本新特性演進總表:5.2 至 5.6 核心功能一覽

     編輯:PHP 綜合知識

版本時間軸

版本發布EOL關鍵特性
5.220062011JSON 支援
5.320092012命名空間、匿名函數、Late Static Binding、PHAR、Nowdoc
5.420122013Short Array Syntax、Traits、內建 Web Server、Callable 類型提示
5.520132016Generators (yield)、finally、password_hash、::class
5.620142018常量運算、可變參數 (...)、命名空間函數/常量導入

核心特性詳細

5.2 前奠基

  • spl_autoload_register() 多重自動載入
  • PDO / MySQLi 現代資料庫介面
  • 類型提示(類別、callable、array)

5.3 里程碑

// 匿名函數 + use 捕獲
$fn = function($x) use ($y) { return $x + $y; };

// 命名空間
namespace Foo\Bar;
use Baz\Qux as Q;

// Late Static Binding
static::method();

// Nowdoc (單引號行為)
$str = <<<'EOT'
$var 不會解析
EOT;

// PHAR 打包
require 'app.phar';

5.4 語法糖

// 短陣列語法
$arr = ['key' => 'value'];

// Traits 程式碼複用
trait Loggable { public function log($msg) { ... } }
class Service { use Loggable; }

// 內建 Server
php -S localhost:8000 -t public/

// 實例化即呼叫
(new Factory())->create();

5.5 生成器與安全

// yield 生成器
function nums() { for ($i=1; $i<=10; $i++) yield $i; }
foreach (nums() as $n) echo $n;

// finally 區塊
try { ... } catch (Exception $e) { ... } finally { cleanup(); }

// 密碼雜湊
password_hash($pwd, PASSWORD_DEFAULT);

5.6 函數增強

// 常量運算
const A = 2;
const B = A + 1;

// 可變參數
function sum(...$nums) { return array_sum($nums); }
sum(1, 2, 3); // 6
sum(...[1,2,3]); // 陣列展開

// 命名空間函數/常量導入
use const Ns\CONSTANT;
use function Ns\func;

遷移建議

  • PHP 5.6 於 2018/12/31 結束安全更新
  • 現代專案請直接使用 PHP 8.1+(效能提升 2-3 倍、JIT、屬性、聯合型別、match 等)
  • 舊專案升級路徑:5.6 → 7.4 → 8.1
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved