PHP で避けるべきトップ 10 の落とし穴
1. mysql_ クラス関数を使用しないでください
最後に、使用しないことを示唆するプロンプトが表示される必要がなくなりました。 mysql_関数。 PHP 7 ではそれらがコアから完全に削除されているため、より優れた mysqli_ クラス関数、またはより柔軟な PDO レイヤーに移行する必要があることを意味します。
2. 役に立たないコードを書かないでください
これは無知な提案のように思えますが、PHP7 の速度が向上するにつれて、いくつかの問題が隠蔽され、その重要性がますます高まっています。 。 PHP7 に切り替えるとサイトが速くなったからといって満足しないでください。
速度の重要性とそれをより良くする方法を理解するには、記事「加速最適化の初心者ガイド」を参照してください。
開発者としては、スクリプトがオンデマンドでロードされること、可能な場合は結合されること、効率的なデータベース クエリを作成すること、可能であればキャッシュを使用することなどを確認する必要があります。
3. ファイルの最後に PHP 終了タグを使用しないでください
何気なく見てみると、ほとんどの WordPress コア コード ファイルで省略されていることがわかります。末尾の PHP 終了タグ。実際、Zend Framework は特に終了タグを無効にします。これは PHP では必要ありません。ファイルの最後でこれを省略すると、末尾に余分な空白がなくなります。
4. 必要な場合を除き、パラメーターを引用符で渡さないでください
個人的には、パラメーターを引用符で渡すことは好きではありません。確かに状況によっては役立つこともありますが、ほとんどの場合、コードが理解しにくくなり、従うのが難しくなり、結果の予測が難しくなります。
人々は参照によってコードが高速になると考えていますが、The Respectable PHP Programmer のこの記事が指摘しているように、そうではありません。
PHP の組み込み shuffle() 関数または sort() 関数は、パラメータの参照渡しの悪い例です。これは、シャッフルまたはソートされた配列を返すのではなく、元の配列を変更しますが、これは私たちの希望に完全に反します。
5. ループ内でクエリを使用しないでください
最悪のことは、ループ内でデータベース クエリを使用することです。システムに不必要なストレスがかかりますが、ループの外でクエリを使用すると、同じ結果をより速く得ることができる可能性が高くなります。このように使用しなければならない状況に遭遇した場合、私は通常、クエリを 2 つのクエリに分割して配列を構築することで問題を解決します。次に、クエリをループせずに配列をループします。
WordPress の動作方法により、これには例外がいくつかある場合があります。 get_post_meta() はデータベースからメタデータを取得します。これは、特定の投稿のメタデータをループする場合にループ内で使用できます。これは、WordPress が最初に使用するときに実際にすべてのメタデータを取得し、キャッシュするためです。後続の呼び出しでは、実際にはデータベースを呼び出すのではなく、キャッシュされたデータを呼び出します。
これらの問題を解決する最善の方法は、関数のドキュメントを読み、クエリ リスナーのようなものを使用することです。
6. SQL クエリでは *
を使用しないでください。まあ、これは MySQL に関する質問ですが、コード内で使用することを好みます。 . SQL ステートメントを書くのですから、それは公平な勝負だと言えます。いずれの場合も、ワイルドカードの使用を避けられる場合は、特にデータベースに多くのフィールドがある場合は使用しないでください。
必要なフィールドを明示的に指定し、それらのフィールドのみを取得します。これにより、メモリを節約し、データを保護し、内容をより明確にすることができます。
SQL 側では、利用可能な関数について可能な限り学習し、速度をテストします。平均や合計を計算したり、同様の数値を計算したりする場合は、PHP 関数の代わりに SQL 組み込み関数を使用します。クエリの速度がわからない場合は、クエリをテストし、他のアプローチと比較して、最適なアプローチを選択してください。
7. ユーザー入力を信頼しない
ユーザー入力を信頼するのは賢明ではありません。ユーザー入力の場合、フィルター、サニタイズ、エスケープ、検証、フォールバックの使用が常に必要になります。ユーザー入力には 3 つの問題があります。それは、私たち開発者がすべての可能性を考慮することは不可能であること、頻繁な間違い、および意図的に悪意のある入力です。
よく考えられたシステムであれば、これらすべての問題を防ぐことができます。データベースを使用するときは、filter_var() などの組み込み関数を必ず使用して、有効性のチェック、エスケープなど、できる限りのことを行ってください。
WordPress には役立つ機能がたくさんあります。ユーザーデータの検証、エスケープ、サニタイズについて詳しくは、この記事をご覧ください。
8. 賢くなりすぎないでください
あなたの目標は、希望を明確に表現するエレガントなコードを書くことです。変数名を短縮したり、マルチレベルの三項論理演算やその他のテクニックを使用したりすることで、各ページの読み込み時間を 0.01 秒節約できるかもしれませんが、あなたやあなたのチームに頭痛の種を与えたり、メンテナンスを困難にしたりする結果と比較すると、損失に見合う価値はありません。
変数に適切な名前を付け、コードのドキュメントを簡潔かつ明確に記述します。インライン コード コメントを大量に使用するよりも、標準化されたオブジェクト指向コーディング スタイルを使用し、それを多かれ少なかれ文書化する方が良いでしょう。
9. 車輪の再発明はやめましょう
PHP は以前から存在していましたが、Web サイト開発はさらに古くから行われてきました。あなたがやったことは何でも、誰かが以前にやったことがあるのです。他の人のサポートに頼ることを恐れないでください。Github、Composer、Packagist はすべてあなたのメンターです。
ロガーからカラー プロセッサ、プロファイラーから単体テスト フレームワーク、Mailchimp API から Twitter Bootstrap まで、すべてがボタンをクリックするだけ (またはコマンドを実行するだけ) なので、ぜひ使用してください。
10. 他の言語を見落とさないでください
PHPer であれば、少なくとも HTML、CSS、JavaScript、MySQL を知っていることが現在では標準的です。これらの言語をうまく扱えるようになったら、JavaScript をもう一度学習しましょう。 JavaScriptはjQueryではありません。 jQueryを効果的に活用するにはJavaScriptを学習する必要があります。
PHP でオブジェクト指向のすべてを学ぶこともお勧めします。これは命の恩人であり、コードを桁違いに改善します。また、C# や Java などの言語への扉も開くことができ、一度使用経験があると、オブジェクト指向プログラミング (OOP) を理解しやすくなります。
パッケージ管理、ビルド スクリプト、Coffeescript、LESS、SASS、YAML、テンプレート エンジン、その他の便利なツールを学習して知識を広げます。また、他のフレームワーク、特に Laravel を検討することを心からお勧めします。
これらを十分に行ったら、Ruby、Ruby on Rails、Android、iPhone、Windows Phone 向けのアプリ開発を検討してみてはいかがでしょうか?これらは自分のコンフォートゾーンや仕事の要件から外れているので無意味だと思うかもしれませんが、まさに重要な点です。どの言語にも、教育上役立つ知識と無害な追加情報がいくつかあります。トップの PHP 開発者は皆、他のプログラミング言語を知っています。これは偶然ではありません。
読んでくれた皆さん、ありがとうございます。たくさんの利益が得られることを願っています。
この記事は次の場所に転載されています: https://www.cnblogs.com/Summerblue/p/8778819.html
推奨チュートリアル: "php チュートリアル"
以上がPHP で避けるべきトップ 10 の落とし穴の詳細内容です。詳細については、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)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
