ホームページ >バックエンド開発 >PHP7 >php7とphp5の違いは何ですか

php7とphp5の違いは何ですか

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-05-18 09:37:302377ブラウズ

この記事ではphp7とphp5の違いを紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

php7とphp5の違いは何ですか

1. PHP スカラー型と戻り型の宣言

#主要分为两种模式,强制性模式和严格模式
declare(strict_types=1)
#1表示严格类型校验模式,作用于函数调用和返回语句;0表示弱类型校验模式。

2. NULL 合体演算子

$site = isset($_GET['site']) ? $_GET['site'] : 'wo';
#简写成
$site = $_GET['site'] ??'wo';

3. 結合予算演算子

// 整型比较
print( 1 <=> 1);print(PHP_EOL);
print( 1 <=> 2);print(PHP_EOL);
print( 2 <=> 1);print(PHP_EOL);
print(PHP_EOL); // PHP_EOL 为换行符
//结果:
0
-1
1

4. 定数配列

// 使用 define 函数来定义数组
define(&#39;sites&#39;, [
   &#39;Google&#39;,
   &#39;Jser&#39;,
   &#39;Taobao&#39;
]);

print(sites[1]);

5. 匿名クラス

interface Logger { 
   public function log(string $msg); 
} 

class Application { 
   private $logger; 

   public function getLogger(): Logger { 
      return $this->logger; 
   } 

   public function setLogger(Logger $logger) { 
      $this->logger = $logger; 
   }   
} 

$app = new Application; 
// 使用 new class 创建匿名类 
$app->setLogger(new class implements Logger { 
   public function log(string $msg) { 
      print($msg); 
   } 
}); 

$app->getLogger()->log("我的第一条日志");

6. Closure::call() メソッドが追加されました。これは、匿名関数をクラスにバインドすることを意味します

<?php 
class A { 
    private $x = 1; 
} 

// PHP 7 之前版本定义闭包函数代码 
$getXCB = function() { 
    return $this->x; 
}; 

// 闭包函数绑定到类 A 上 
$getX = $getXCB->bindTo(new A, &#39;A&#39;);  

echo $getX(); 
print(PHP_EOL); 

// PHP 7+ 代码 
$getX = function() { 
    return $this->x; 
}; 
echo $getX->call(new A); 
?>

7、CSPRNG (擬似乱数生成器)。

PHP 7 通过引入几个 CSPRNG 函数提供一种简单的机制来生成密码学上强壮的随机数。

random_bytes() - 加密生存被保护的伪随机字符串。

random_int() - 加密生存被保护的伪随机整数。

8、例外

PHP 7 异常用于向下兼容及增强旧的assert()函数。

9、ステートメントの変更を使用

#可以导入同一个namespace下的类简写
use some\namespace\{ClassA, ClassB, ClassC as C};

10、セッションオプション

1.session_start()可以定义数组
<?php
session_start(&#91;
   &#39;cache_limiter&#39; => &#39;private&#39;,
   &#39;read_and_close&#39; => true,
]);
?>
2.引入了一个新的php.ini设置(session.lazy_write),默认情况下设置为 true,意味着session数据只在发生变化时才写入。

11、PHP 7の拡張機能が削除されました

ereg

mssql

mysql

sybase_ct

PHP7 のパフォーマンスが PHP5 に比べて向上しているのはなぜですか?

1. 変数の格納バイト数が削減され、メモリ使用量が削減され、変数の動作速度が向上します

2. 配列構造の改善 配列要素とハッシュ マッピング テーブルが同じメモリに割り当てられますメモリ使用量を削減し、CPU キャッシュ ヒット率を向上します。

3. 関数呼び出しメカニズムを改善します。パラメータ転送プロセスを最適化することで、一部の命令が削減され、実行効率が向上します。

推奨学習:phpビデオチュートリアル

以上がphp7とphp5の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。