PHP7 でできない 10 のことの紹介

黄舟
リリース: 2017-06-18 15:39:14
オリジナル
2096 人が閲覧しました

この記事では、主に PHP 7 でやってはいけない 10 のことを詳しく紹介します。興味のある方は参考にしてください。 PHP 7 でやってはいけない 10 のことを覚えておいてください。

mysql

_

関数を使用しないでください

ついにその日が来ました。これからは mysql_ 関数を「使用すべきではない」だけではありません。 PHP 7 ではこれらがすべてコアから削除されているため、より優れた mysqli_ 関数、またはより柔軟な
PDO

実装に移行する必要があります。

2. ジャンクコードを書かないでください

これは理解しやすいかもしれませんが、PHP 7 の高速化により問題の一部が隠れてしまう可能性があるため、ますます重要になります。 PHP 7 に移行してサイトの速度が速くなったからといって、サイトの速度だけで満足しないでください。

速度がいかに重要であるか、そして物事をより良くする方法を理解するには、「速度の最適化の開始」の記事をご覧ください。
開発者として、常にオンデマンドでスクリプトをロードし、可能な場合は接続し、効率的なデータベース クエリを作成し、可能な場合はキャッシュを使用するなどのことを行う必要があります。


3. ファイルの末尾に PHP 終了タグを使用しないでください


ご覧のとおり、ファイルが PHP コードで終わる場合、WordPress のコア コードのほとんどは末尾の PHP タグを削除します。実際、Zend Framework はこれを明確に無効にしています。 PHP ではファイルの末尾に終了タグを必要とせず、それを削除することで末尾に空白文字が追加されないようにすることができます。

4. 不必要な参照渡しをしないでください

私は個人的には参照渡しが好きではありません。便利な場合もありますが、コードの理解が難しくなり、結果の予測が困難になる場合もあります。

コードの実行が速くなると考えている人もいると言われていますが、一部の上級 PHP プログラマーによると、これは真実ではありません。
引用がなぜ悪いのかの一例として、PHP には shuffle() と sort() が組み込まれていることが挙げられます。処理された配列を返すのではなく、元の

配列

を変更しますが、これは非論理的です。


5.

ループでクエリを実行しないでください


ループでクエリを実行することは非常に無駄です。システムに不必要なストレスを与え、ループの外でより速く同じ結果を達成できる可能性があります。このようなものが必要な状況に遭遇した場合、私は通常、データ配列の構築に使用する 2 つの別々のクエリで問題を解決します。その後、

配列を反復処理するため、その過程でクエリを実行する必要はありません。 ここではWordPressを使用しているため、一部例外がある場合があります。 get_post_meta() はデータベースから大量のデータを取得しますが、特定のブログ投稿のメタデータをループする場合は、これをループ内で使用できます。これは、WordPress が最初に呼び出すときに実際にすべてのメタデータを取得し、キャッシュするためです。後続の呼び出しではこれらの
キャッシュ データ

が使用され、データベース呼び出しは行われません。

これを理解する最良の方法は、関数のドキュメントを読み、Query Monitor などのツールを使用することです。

6. SQL クエリで * を使用しないでください

もちろん、これは MySQL の問題ですが、私たちは PHP で SQL コードを書くことに慣れているので、同じです。いずれにせよ、特にデータベースに多くの列がある場合は、できる限り SQL クエリで

ワイルドカード

を使用しないでください。

必要な行を明示的に指定し、それらの行のみを取得する必要があります。これにより、使用されるリソースが削減され、データが保護され、内容が可能な限り明確になります。

SQL の場合、利用可能なすべての関数を理解し、その速度を可能な限りテストする必要があります。平均値、合計、または同様の数値計算を計算する場合は、PHP 関数の代わりに SQL 関数を使用します。特定のクエリの速度がわからない場合は、それをテストし、他のコンパイルをいくつか試してから、最適なものを使用してください。
7. ユーザー入力を信用しないでください


ユーザー入力を信頼するのは賢明ではありません。常に検証し、フィルタリングし、脱出し、チェックし、逃げ道を残しておきます。ユーザー データには 3 つの問題があります。私たち開発者はすべての可能性を考慮しているわけではないこと、データは多くの場合不正確であること、そして意図的に侵害される可能性があることです。

考え抜かれたシステムがこれらの脅威から保護します。データベースを扱うときは、filter_var() などの組み込み関数を使用して適切な値を確認し、エスケープ (またはプリコンパイル) してください。

WordPress には問題を解決するための機能がいくつかあります。詳細については、「ユーザー データの検証、エスケープ、フィルタリング」の記事を参照してください。

8. 賢くならないでください

あなたの目標は、意図をより明確に表現するエレガントなコードを書くことです。複数の三値論理レイヤーやその他の手段を使用して、何かを 1 つの単語 変数 に短縮することで、各ページの 0.01 秒を最適化できる可能性があります。しかし、これはあなたとあなたの周りの人たちにとって大きな問題を引き起こすだけです。

変数に適切な名前を付け、コードを文書化し、簡潔さよりも明確さを優先します。さらに良いのは、大量のインライン値を必要とせず、多かれ少なかれドキュメント自体である標準のオブジェクト指向コードを使用することです。

9. 車輪の再発明はしないでください

PHP は古くから存在しており、Web サイトはさらに古くから存在しています。あなたが構築する必要があるものは何であれ、誰かがすでにそれを構築している可能性があります。他の人にサポートを求めることを恐れないでください。Github はあなたの良き友達であり、Composer、そして Packagist も同様です。

ロギング ツールから色補正ツールまで、パフォーマンス アナライザーから単体テストフレームワークまで、Mailchimp API から Twitter Bootstrap まで、キー (またはコマンド) を押すだけですべてが利用可能です。それらを使用してください。

10. 他の言語を無視しないでください

PHP プログラマーであれば、今が少なくとも HTML、CSS、JavaScript、MySQL を理解する良い機会です。これらの言語をうまく扱えるようになったら、JavaScript を学び直しましょう。 JavaScript は jQuery ではありません。JavaScript をより効率的に使用するには、JavaScript を正しく学習する必要があります。

また、オブジェクト指向 PHP を学ぶことをお勧めします。これは時間を節約し、コード サイズが大きいほど改善されます。 C# や Java などの言語についても、OOP を理解すると理解しやすくなります。

パッケージマネージャー、ビルドスクリプト、CoffeeScript、LESS、SASS、YAML、スクリプトエンジン、その他の強力なツールについて学び、知識を広げてください。他のフレームワーク、特に Laravel を検討することを強くお勧めします。

Ruby、RoR、Android、iPhone、Windows Phone アプリ開発を学びながら、それらを活用して仕事をうまくやり遂げてみませんか?彼らは自分のコンフォートゾーンや仕事で求められる範囲外にいるので、これは無意味だと思うかもしれませんが、それが彼らなのです。どの言語にも、学ばなければならない実践的なことや、これまでに出会ったことのない新しいことがいくつかあります。トップの PHP 開発者全員が他の多くの プログラミング言語 を知っているのは偶然ではありません。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!