English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PHPにおいては特に、忘れないでください。 7中でしないべきこと10これ1つ
1mysql_ 関数を使用しないでください。
この日がようやく来ました。これで「使わないべき」ではなく、PHPで mysql_ 関数を使用することになります。 7 これらはすべてコアから削除されました、つまり、より良い mysqli_ 関数やより柔軟な PDO 実装に移行する必要があります。
2不要なコードを書かないでください。
このポイントは理解しやすいかもしれませんが、PHPの重要性が増していくため、重要です。 7 の速度向上は、あなたの問題の一部を隠す可能性があります。サイトの速度に満足するだけでなく、PHPに移行することで 7 それが速くなるためです。
速度がどれだけ重要であるか、そしてどうすればより良い結果を得られるかを理解するために、私たちの速度最適化入門ガイドをチェックしてください。
開発者として、あなたは常に必要に応じてスクリプトをロードし、可能な限り接続を結び、効率的なデータベースクエリを書き、可能な限りキャッシュを使用し、他にも注意を払うべきです。
3ファイルの末尾にPHP閉じタグを使用しないでください。
ファイルがPHPコードで終わる場合、WordPressの多くの核心コードは末尾のPHPタグを削除しています。実際、Zendフレームワークはそれを特別に禁止しています。PHPはファイルの末尾の閉じタグを必要とせず、それを削除することで後で空白文字が追加されないことを確保できます。
4不必要な参照渡しを行わないでください。
私は参照渡しを好きではありません。時には便利ですが、他の多くの場合、コードを難解で予測不可能にします。
ある人々はそれがコードの実行速度を向上させると考えていますが、PHPの上級プログラマーによれば、これは正しくありません。
PHP 内建の shuffle()と sort()は、元の配列を変更するのではなく、処理された配列を返すことに不合理です。
5ループ内でクエリを実行しないでください。
ループ内でクエリを実行することは非常に無駄です。それはシステムに不必要な負荷をかけ、ループ外で同じ結果をより速く得ることができる可能性があります。このような状況に直面した場合、私は通常、データ配列を構築するために2つの分離されたクエリを使用し、それらを使用してデータ配列を巡回します。クエリを実行する必要がないプロセス中にその配列を巡回します。
WordPressがここに適しているため、例外があるかもしれません。get_post_meta()は大量のデータをデータベースから取得しますが、特定の投稿のメタデータを巡回している場合、ループ内で使用できます。なぜなら、最初に呼び出されたとき、WordPressは実際にすべてのメタデータを取得しキャッシュするため、その後の呼び出しはキャッシュデータを使用し、データベースの呼び出しは行われないからです。
これらを理解する最良の方法は、関数のドキュメントを読むことと、Query Monitorなどのツールを使用することです。
6SQLクエリでワイルドカードを使用しないでください。 *
もちろん、これはMySQLの問題のように見えますが、PHPでSQLコードを書く慣習があるため、大差ありません。ただし、可能であれば、特にデータベースの列が多い場合には、SQLクエリでワイルドカードを使用しないことを避けましょう。
必要な行を明確に指定し、それらのみを取得することで、使用されるリソースを減らし、データを保護し、可能な限り明確なものにすることができます。
SQLに対して、すべての利用可能な関数を理解し、可能な限り速度をテストしてください。平均、合計や他の数値計算を行う際には、SQL関数を使用し、PHP関数を使用しないことを推奨します。特定のクエリの速度が不明な場合は、テストし、他のコンパイルを試み、その後最も良いものを使用してください。
7ユーザー入力を信頼しないでください。
ユーザー入力を信頼することは賢明ではありません。常に確認、フィルタリング、エスケープ、チェックを行い、退路を確保してください。ユーザーデータには3つの問題があります:開発者はすべての可能性を考慮していない、通常は正しくない、そして意図的な破壊が可能です。
慎重に考えられたシステムはこれらの脅威を防ぐことができます。filter_var()などの内建関数を使用して適切な値を確認し、データベースを処理する際にエスケープ(または予编译)を行うことを確認してください。
WordPressには問題を解決するためのいくつかの関数があります。詳細は、ユーザーデータの検証、エスケープ、フィルタリングに関する記事を参照してください。
8賢そうにしないでください。
あなたの目標は、より明確にあなたの意図を表現するための優れたコードを書くことです。一つの単語の変数を使用して何かを短縮したり、多重の三項論理を使用したり、他の手段を通じて、各ページから0.0を最適化することができます。1 しかし、これはあなたや周りの人々にとって大きな困難をもたらします。
変数の命名は合理に行い、コードの文書化を行う際には明確さを選ぶことを優先してください。さらに良い方法は、標準的な面向对象的コードを使用することです。それはほぼドキュメントであり、インラインの数値を多く必要としません。
9.新しい車輪を再発明しないでください
PHPは今まで非常に長い時間があり、ウェブサイトが作られる時間も長いです。あなたが必要なものを作るために、誰かが既に作成してしまった可能性が高いです。他人にサポートを求めることを恐れずに、Githubはあなたの親友であり、ComposerやPackagistも同じです。
ログツールからカラーツール、パフォーマンス分析器からユニットテストフレームワーク、Mailchimp APIからTwitter Bootstrapまで、すべてはボタンを押す(またはコマンドを入力する)ことで入手できます。それらを使ってください!
10.他の言語を無視しないでください
PHPプログラマーの場合、HTML、CSS、JavaScript、MySQLを少なくとも理解する良い機会があります。これらの言語をよりよく扱えるようになると、JavaScriptを再学ぶ時が来ます。JavaScriptはjQueryではありません。効率的に使用するためにJavaScriptを適切に学ぶべきです。
オブジェクト指向のPHPを学ぶこともお勧めします。それは時間を節約し、コードの規模が大きくなるとさらに良いものになります。C#やJavaのような言語については、OOPを理解した後、それらもより簡単に理解できます。
パッケージマネージャ、ビルドスクリプト、CoffeeScript、LESS、SASS、YAML、スクリプトエンジンなど、強力なツールを通じて知識を広げてください。特にLaravelを特に推薦します。
それらを使って素晴らしい成果を上げたとき、Ruby、RoR、Android、iPhone、Windows Phone アプリケーション開発を学ぶのはどうですか?それらはあなたの快適な領域や必要な範囲を超えているかもしれませんが、それがその意味です。各言語には学ぶ価値のある実用的なものや未知の知識があります。すべてのPHPのトップ開発者は他のプログラミング言語を多く知っており、これは偶然ではありません。
これで本記事のすべての内容が終わります。皆様の学習に役立つことを願っています。また、ナイアラートゥートゥルのガイドをたくさんサポートしていただけると嬉しいです。