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

php7とphp5の違いは何ですか

May 18, 2021 am 09:37 AM

この記事では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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 7でセッションを効果的に使用する方法は? PHP 7でセッションを効果的に使用する方法は? Mar 10, 2025 pm 06:20 PM

この記事では、session_start()、$ _session、session_destroy()、セキュアクッキー処理などのコア機能をカバーする効果的なPHP 7セッション管理について詳しく説明します。 HTTPS、セッションID再生、sなどのセキュリティベストプラクティスを強調しています

New RelicなどのツールでPHP 7のパフォーマンスを監視する方法は? New RelicなどのツールでPHP 7のパフォーマンスを監視する方法は? Mar 10, 2025 pm 06:28 PM

この記事では、New Relicを使用してPHP 7アプリケーションのパフォーマンスを監視する方法について説明します。 New Relicのセットアップ、APDEXスコアや応答時間などのキーパフォーマンスインジケーター(KPI)、トランザクショントレースを介したボトルネックの識別、エラートラックの詳細

PHP 5.6からPHP 7にアップグレードする方法は? PHP 5.6からPHP 7にアップグレードする方法は? Mar 10, 2025 pm 06:29 PM

この記事では、PHP 5.6をPHP 7にアップグレードし、バックアップ、サーバーの互換性のチェック、アップグレードメソッドの選択などの重要な手順(パッケージマネージャー、コンパイル、コントロールパネル、またはWebサーバーの構成)を強調しています。 ポテンティアに対処します

PHP 7でクラスを自動装備する方法は? PHP 7でクラスを自動装備する方法は? Mar 10, 2025 pm 06:20 PM

この記事では、SPL_AUTOLOAD_REGISTER()を使用してクラスをオンデマンドでロードするPHP 7のオートローディングについて説明します。 それは、名前空間ベースのオートローディングやパフォーマンスの最適化のためのキャッシュなどのベストプラクティスを詳述し、一般的な問題に対処します(例:クラスは見つかりません

PHP 7プロジェクトでバージョンコントロールにGitを使用する方法は? PHP 7プロジェクトでバージョンコントロールにGitを使用する方法は? Mar 10, 2025 pm 06:27 PM

この記事は、バージョンコントロールにGitを使用することについてPHP 7開発者をガイドします。 初期化、ステージング、コミット、ファイルの無視、リモートリポジトリ、分岐、マージ、競合解決、および重要なGITコマンドをカバーします。 効率のためのベストプラクティス

PHP 7アプリケーションをWebサーバーに展開する方法は? PHP 7アプリケーションをWebサーバーに展開する方法は? Mar 10, 2025 pm 06:28 PM

この記事では、PHP 7アプリケーションの展開、メソッド(FTP、SSH、展開ツール)、サーバー構成(APACHE/NGINX、PHP-FPM)、データベースのセットアップ、および重要なセキュリティに関する考慮事項をカバーする詳細を詳述しています。 Server Compatibなどの一般的な課題を強調しています

PHP 7コードのデバッグにXdebugを使用する方法は? PHP 7コードのデバッグにXdebugを使用する方法は? Mar 10, 2025 pm 06:26 PM

この記事では、PHP 7コードのデバッグにXdebugを使用する方法について説明します。 Xdebug構成(インストール、PHP.ini設定、IDEセットアップ)、ブレークポイント使用(条件、関数、リモート)、およびトラブルシューティング接続の問題をカバーします。 効果的なデビッジ

PHP 7のオブジェクト指向プログラミング(OOP)とは何ですか? PHP 7のオブジェクト指向プログラミング(OOP)とは何ですか? Mar 10, 2025 pm 02:53 PM

この記事では、PHP 7のオブジェクト指向プログラミング(OOP)について説明し、モジュール性、再利用可能性、保守性、およびコード組織の改善を強調しています。 クラス、オブジェクト、継承、多型を詳述し、それらの使用を示しています

See all articles