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 'I am the constructor'; } } ?>
1. 定義された定数の定義は、スカラーだけでなく配列もサポートします
<?php define('PHPXY', array( '凤姐', '芙蓉姐姐', '杨幂是臭脚' )); 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, '3', 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, 'A'); // 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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









php5 と php8 の違いは、パフォーマンス、言語構造、型システム、エラー処理、非同期プログラミング、標準ライブラリ関数、セキュリティの点です。詳細な紹介: 1. パフォーマンスの向上. PHP5 と比較して、PHP8 はパフォーマンスが大幅に向上しています. PHP8 では、高頻度の実行コードをコンパイルおよび最適化できる JIT コンパイラーが導入されており、それによって実行速度が向上しています; 2. 言語構造の改善、 PHP8 では、いくつかの新しい言語構造と関数が導入されており、PHP8 では名前付きパラメータがサポートされており、開発者はパラメータの順序などの代わりにパラメータ名を渡すことができます。

PHP 7.0 でインストールされているプラグインが表示されない問題を解決するには: プラグインの設定を確認し、プラグインを有効にします。 PHP を再起動して、構成の変更を適用します。プラグイン ファイルの権限をチェックして、それらが正しいことを確認します。不足している依存関係をインストールして、プラグインが適切に機能することを確認します。他のすべての手順が失敗した場合は、PHP を再構築します。他に考えられる原因としては、プラグインのバージョンに互換性がない、間違ったバージョンをロードしている、PHP 構成の問題などが挙げられます。

php5 では、fsockopen() 関数を使用して TCP ポートを検出できます。この機能を使用して、ネットワーク接続を開き、ネットワーク通信を実行できます。ただし、php7 では、fsockopen() 関数でポートを開けない、サーバーに接続できないなどの問題が発生する可能性があります。この問題を解決するには、socket_create() 関数とsocket_connect() 関数を使用して TCP ポートを検出します。

php7.0 に mongo 拡張機能をインストールする方法: 1. mongodb ユーザー グループとユーザーを作成します; 2. mongodb ソース コード パッケージをダウンロードし、ソース コード パッケージを "/usr/local/src/" ディレクトリに配置します; 3. 「src/」ディレクトリに入ります; 4. ソースコードパッケージを解凍します; 5. mongodb ファイルディレクトリを作成します; 6. ファイルを「mongodb/」ディレクトリにコピーします; 7. mongodb 設定ファイルを作成して設定を変更します。

php5 でポート 80 を変更する方法: 1. Apache サーバー設定ファイルのポート番号を編集します; 2. PHP 設定ファイルを編集して、PHP が新しいポートで動作することを確認します; 3. Apache サーバーを再起動すると、PHP アプリケーションが起動します。新しいポートで実行を開始します。ポートで実行します。

php7.0 をインストールおよび展開する方法: 1. PHP 公式 Web サイトにアクセスして、ローカル システムに対応するインストール バージョンをダウンロードします; 2. ダウンロードした zip ファイルを指定したディレクトリに解凍します; 3. コマンド ライン ウィンドウを開いて、次のリンクに移動します。 「E:\php7」ディレクトリ 「php -v」コマンドを実行するだけです。

PHP サーバー環境の一般的な解決策には、正しい PHP バージョンがインストールされていること、および関連ファイルがモジュール ディレクトリにコピーされていることを確認することが含まれます。 SELinux を一時的または永続的に無効にします。 PHP.ini をチェックして構成し、必要な拡張機能が追加され、正しく設定されていることを確認します。 PHP-FPM サービスを開始または再起動します。 DNS 設定に解決の問題がないか確認してください。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...
