検索
ホームページバックエンド開発PHP7PHP5からPHP7を一気に扱う場合の注意点

この記事ではPHP5からPHP7までの注意点を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

PHP5からPHP7を一気に扱う場合の注意点

PHP7 が一般的な傾向です。 PHP7 には、より多くの新機能があり、パフォーマンスが向上し、速度が向上しています。また、今年8月7日よりPHP7.0のbeta3がリリースされ、近々PHP7のRC1版もリリースされる予定です。そのペースはますます近づいており、より多くの人が PHP7 の新機能を学習しています。 PHPアカデミーではPHP7の新機能を連載していきます。

さらに、新しいことに挑戦するのが好きな国内の PHPer の中には、すでに PHP7 をインストールしている人もいます。 PHP7 にはどのような新機能があるのか​​見てみましょう。

今日は、PHP によって推進されているいくつかのスタイルについて説明します。元の PHP4 では一部のスタイルが無効になっています。

1. PHP5 がリリースされたときに ASP プログラマを喜ばせるために、PHP はすべての asp_tag を禁止する準備をしました。

将来的には スタイルは存在しないでしょう、そして PHP style ステートメントはサポートされなくなります。

<script language="php"></script>

2、コンストラクターの使用など、PHP4 の構文スタイルのいくつかの点は、新しい PHP7 では完全に廃止されます。 PHP7 では、エラー メッセージ E_DEPRECATED が表示されます。

<?php
class foo {
    //方法名类名相同的构造函数的用法不再兼容     
    function foo() {         
        echo &#39;I am the constructor&#39;;     
    } 
  }
?>

1. 定義された定数の定義は、スカラーだけでなく配列もサポートします

<?php

define(&#39;PHPXY&#39;, array(
    &#39;凤姐&#39;,
    &#39;芙蓉姐姐&#39;,
    &#39;杨幂是臭脚&#39;
));

echo PHPXY[1]; // 输出的结果是“芙蓉姐姐”
?>

2. 比較する場合、文字列と配列を比較できる をサポートします。整数型。

<?php

// Integers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

コメント: 実際のユーザー数はそれほど多くなく、実際の業務での使用率はそれほど高くないと考えられます

3. 関数の必須パラメータ型指定は PHP7 でサポートされています

<?php
// Coercive mode
function sumOfInts(int ...$ints)
{
    return array_sum($ints);
}

var_dump(sumOfInts(2, &#39;3&#39;, 4.1));

//本例中会输出9,你想想为什么哟?——因为强制规定为了整型

コメント: function funcName(... パラメータ) は PHP5.6 でサポートされています。これが PHP7

4 の知識ポイントであるとは思わないでください。戻り値の型も必須です

function arraysSum(array ...$arrays): array
{
    return array_map(function(array $array): int {
        return array_sum($array);
    }, $arrays);
}

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));

5。外部から呼び出される新しい呼び出しメソッドが追加され、匿名関数は次のようになります。オブジェクトを入力して呼び出しを完了します

class A {private $x = 1;}

// Pre PHP 7 code
$getXCB = function() {return $this->x;};
$getX = $getXCB->bindTo(new A, &#39;A&#39;); // intermediate closure
echo $getX();

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

6.メンバー メソッドでは、特定のクラス型を返す必要があることも規定できます

class A {}
class B extends A {}

class C
{
    public function test() : A
    {
        return new A;
    }
}

PHP7 のいくつかの関数を削除する必要があります。

PHP マニュアルでは、バージョンアップに合わせて、PHP7 で削除された機能を整理して説明しています。プロジェクトでこれらの関数を使用する場合は、プロジェクト全体で検索して変更してください。

1. call_user_method() および call_user_method_array()

2. mcrypt_generic_deinit() を優先する mcrypt_generic_end() エイリアス

3. 非推奨の mcrypt_ecb()、mcrypt_cbc() 、 mcrypt_decrypt() パラメーターを優先する mcrypt_cfb() および mcrypt_ofb() MCRYPT_MODE_*

4. datefmt_set_timezone() または IntlDateFormatter::setTimeZone() を優先し、非推奨の datefmt_set_timezone_id() および IntlDateFormatter::setTimeZoneID()

5. set_magic_quotes_runtime() とそのエイリアス関数 magic_quotes_runtime()

6. set_socket_blocking() はそのエイリアス関数 stream_set_blocking()

7. fast-cgi の dl( より) )

8. T1Lib は削除をサポートしているため、次の項目を削除します: imagepsbbox()、imagepsencodefont()、imagepsextendedfont()、imagepsfreefont()、imagepsloadfont()、imagepsslantfont()、imagepstext()

PHP7 の新機能の連載計画が若干遅れましたが、PHP7 RC1 バージョンの公式プレスリリースを翻訳しました。皆様お待ちかねのPHP7.0 RC1版です。

いわゆる RC バージョンは、間もなく正式にリリースされるバージョンです。 (リリース候補) は、ソフトウェアで使用される場合の候補バージョンです。システム プラットフォームはリリース候補バージョンです。 RC バージョンでは新しい機能は追加されず、主にデバッグに重点が置かれます。

PHP 開発チームは、バージョン PHP 7.0.0 RC 1 が間もなく利用可能になるバージョンであると発表しました。詳細にテストし、発生した問題を PHP のバグ追跡システムに報告できます。

バグ テストの送信先のアドレスは: https://bugs.php.net/

1. PHP7 は php 5.6

2 の 2 倍高速です。アップデートは良好です。 64 ビット オペレーティング システムのサポート

##3. さらなるエラー サポートと新しいエラー トラップ

##4. 一部のサポートされていない関数、サポートされていない SAPI および拡張機能を削除

#5. Null 合体演算子(??)

6. 包括的な比較演算子 ()

7. 戻り値の型宣言

8. スカラー型宣言

9. 匿名クラス

PHP はいくつかの関数を削除しましたが、そのうちの 2 つは恐ろしいものです:

1. ereg_* シリーズの通常の関数

2. Mysql_* シリーズのデータ​​ベース接続関数

PHP7 では Mysql 拡張機能のサポートが完全に削除され、元の mysql_* シリーズの関数は mysql でサポートされなくなります。したがって、アプリケーション システムがまだデータベースに接続するために mysql_* シリーズの関数を使用している場合は、できるだけ早く mysql シリーズの関数をアップグレードしてください。

PHP7 によってどのような拡張機能が削除されたかを見てみましょう:

1. ereg
  • 2. mssql
  • #3. mysql

  • #4. sybase_ct

  • ##代替処理とソリューション:
  • 1. Microsoft の SQL サーバー データベースに接続する場合は、PDO ソリューションを使用してください。

  • 2. データベースに接続するために mysql シリーズの機能拡張を使用する場合は、より効率的な mysql_nd を使用してください一連の機能です。より効率が高くなります

3. eregシリーズをご使用の場合は早めに交換してください。

4. sybase_ct を sybase* シリーズに変更します

SAPI とは何かを知らない友人も多く、SAPI と PHP の関係も知りません。この章では、PHP7 で削除された SAPI を理解しながら、SAPI の内部処理の仕組みについて詳しく学ぶことができます。 PHP と SAPI は削除されました

SAPI とは、特定の PHP アプリケーションのプログラミング インターフェイスを指します。PC と同様に、どのオペレーティング システムがインストールされていても、PC インターフェイスの仕様を満たしていれば実行できます。 PHP スクリプトは、Web サーバー経由、コマンド ラインから直接実行する、または他のプログラムに埋め込むなど、さまざまな方法で実行できます。

  • #aolserver

  • apache

  • #apache_hooks
  • apache2filter
  • caudium
  • 継続性
  • isapi
  • milter
  • nsapi
  • phttpd
  • pi3web
  • ロクセン
  • #thttpd
  • #tux

  • #webjames

  • 上記の SAPI はサポートされません。

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

以上がPHP5からPHP7を一気に扱う場合の注意点の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はcsdnで複製されています。侵害がある場合は、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ヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール