失神しそう、誰の言うことを聞けばいいの? Web 開発の世界では、PHP は最も人気のある言語の 1 つですが、PHP から必要なスクリプトを簡単に見つけることができます。残念ながら、「ベスト プラクティス」に従って PHP プログラムを作成する人はほとんどいません。ここでは、PHP の 10 のベスト プラクティスを紹介します。もちろん、それらはそれぞれマスターによって証明されています。
1. 必要に応じて PHP を使用する – Rasmus Lerdorf
PHP の作成者である Rasmus Lerdorf ほど PHP が合理的であることを理解している人はいません。彼は 1995 年に PHP 言語をリリースしました。それ以来、PHP は草原の火のように世界中で燃え上がり、開発陣営は変わりました。インターネットの世界。ただし、Rasmus はこのような理由で PHP を作成したわけではありません。 PHP は、Web 開発者の実際的な問題を解決するために生まれました。
多くのオープンソース プロジェクトと同様に、PHP は人気が高まっています。その人気の動機は通常の哲学では説明できず、あまりにも人気があるため、ある種自画自賛的ですらあります。これは、Web のさまざまな問題を解決するためのツールの必要性によって引き起こされたケースとして使用できます。したがって、PHP が最初に登場したとき、そのようなツールのニーズはすべて PHP に集中していました。
ただし、PHP ですべての問題が解決されるとは期待できません。 Lerdorf 氏は、PHP は単なるツールであり、PHP がその能力を超えている状況は数多くあることを初めて認めました。
作業に応じて適切なツールを選択してください。私は多くの企業を訪問して PHP を導入して使用するよう説得してきましたが、これは PHP があらゆる問題に適しているという意味ではありません。これは、ほとんどの問題を解決できる単なるフロントエンド スクリプト言語です。
Web 開発者として、PHP を使用してすべての問題を解決しようとするのは非科学的であり、時間の無駄です。 PHP が動作しない場合は、ためらわずに他の言語を試してください。
2. マルチテーブルストレージを使用してスケーラビリティを向上させる – Matt Mullenweg
Matt Mullenweg の PHP における権威を疑問視する人は誰もいません。彼は地球上で最も人気のあるブログ システム (強力なコミュニティによってサポートされています) である WordPress を開発した後、WordPress.com プラットフォームを立ち上げました。 WordPress MU をベースにした無料ブログ サイト。現在、WordPress.com には約 400 万人のユーザーがおり、毎日 140,000 件以上の投稿を投稿しています。 (WordPress.com の統計をさらに表示するには、ここをクリックしてください。)
ウェブサイトを簡単に拡張する方法を知っている人がいるとしたら、それは Matt Mullenweg です。 2006 年、Matt は WordPress のデータ構造に将来を見据えた改善を加え、WordPress MU がすべてのブログ データを 1 つの巨大なテーブルに詰め込むのではなく、ブログごとに独立した MYSQL テーブルを使用する理由を説明しました。
このアプローチをテストしましたが、スケールアウトするとコストが高すぎることがわかりました。全体的なデータ構造を使用すると、大量のトラフィックに直面してサーバー ハードウェアの問題に直面することになります。 MU内。ユーザーは個別のテーブルに分散されており、簡単に整理できます。たとえば、WordPress.com はユーザー データを 4,096 のデータベースに保存しており、これらのデータベースは大規模なデータ アクセスを分散し、トラフィックや圧力を分散することができます。
データ テーブルの移植性により、コード (ブログ) の実行が高速になり、システムのスケーラビリティが向上します。 Matt は、強力なキャッシュ戦略と柔軟なデータベース利用戦略を利用して、最も人気のある Facebook と WordPress.com が PHP で安定して動作し、驚くべき量のトラフィックを処理できることを人々に示しました。
3. ユーザーを決して信用しない – Dave Child
Dave Child は、彼の優れた「多くのプログラミング言語のチートシート」で有名なサイト、Added Bytes (以前の ilovejackdaniels.com) の中心人物です。 Dave は英国の多くの企業に勤務しており、プログラミング界の権威としての地位を確立しています。
Dave は PHP 開発者に多くの思慮深いアドバイスを提供し、それを「PHP で安全なコードを書く」にまとめました。ユーザーを決して信頼しないでください。ユーザーはあなたを傷つけることさえあります。
Web 開発には、何度繰り返しても言い尽くせない基本原則があります。それは、ユーザーを決して信頼しないこと、Web サイト上のすべてのデータがユーザーのコードから悪意を持って収集されたものであると想定しないことです。多くの場合、クライアント上のフォームによって送信されたコンテンツを検証するには JavaScript を使用する必要があります。これに慣れている場合は、これが良い習慣になります。セキュリティが重要である場合、これは学ぶべき最も重要な原則です。
Dave は現在、著書「Writing Secure PHP」シリーズの例を整理することに取り組んでいます。本の最後で彼は次のように述べています。
最後に、少し妄想的になってみましょう。自分のサイトが決して攻撃されることはないと考えている場合を除き、問題に正面から向き合ってください。実際に攻撃されたら、悪い状況に陥ることになるからです。すべてのユーザーをサイトに攻撃と防御をもたらすハッカーと見なし、サイトのセキュリティを保護するためにあらゆる手段を講じ、同時に対応する問題の解決策を考える必要があります。
4. PHP キャッシュをもっと使用する – Ben Balbo
Ben Balbo は、開発者やデザイナーにガイダンスを提供する Web サイトである Site Point を開発しました。彼は Melbourne PHP Development and Open Source Club のメンバーであるため、PHP について一定の理解があり、PHP キャッシュに関して一定のアイデアと経験を持っています。
トラフィックが多いものの頻繁に更新されないサイト (ある種の CMS をベースにしたブログなど) の場合は、変更が必要になる可能性があります。これらの変更にはそれほど時間はかかりませんが、時間がかかります。パフォーマンスに顕著な悪影響を及ぼします。 複雑で更新の速いサイトにキャッシュ メカニズムを確立したい場合、そのプロセスは複雑になる可能性がありますが、利点は明らかです。
PHP キャッシュ テクノロジは数多くありますが、Ben は次のテクノロジを推奨しました。
◆キャッシュ関数の実行結果◆有効期限を設定する
◆IEでダウンロードしたファイルをキャッシュする
◆テンプレートキャッシュ技術
◆Cache_Lite
動的言語としての PHP の特性により、頻繁に更新されないサイトにとってキャッシュ メカニズムは非常に重要です。
5. IDE、テンプレート、スニペットを使用して PHP 開発を加速する – Chad Kieffer
Chad Kieffer は、UI デザインとデータベースの最適化から休憩を取るとき、ブログ 2 tablespoons で多くの技術的な経験を共有しています。チャドは多くの面で包括的な開発を行っているため、他のプログラマーが見つけられない問題を頻繁に見つけて、関連する経験、特に Web サイト開発方法を形成することができます。彼はウェブサイト開発のあらゆる側面に携わっているため、彼のアドバイスはウェブサイト開発の全体像を改善するのに非常に役立ちます。Chad は、Eclipse PDT (Eclipse の PHP 開発パッケージ) のような IDE を使用し、いくつかのテンプレート テクノロジとオープン ソース プロジェクトを使用することで、PHP の開発速度を効果的に向上できると考えています。
コンパクトな計画、長い To Do リストと期限により、開発者は非常にイライラします。ただし、Eclipse テンプレートなどの一部の機能を使用すると、コーディング時間とエラーの可能性を効果的に削減できます。
一般に、どのようなプロジェクトでも自動化の度合いが高くなるほど、プロジェクトの完了にかかる時間は短くなります。頻繁に使用されるフレームワークとテンプレートの開発に時間を費やすと、後でさらに時間を節約できます。同時に、Eclipse や PDT パッケージなどの IDE を使用すると、IDE が自動的に終了し、セミコロンを入力してローカルでデバッグできるため、効率が大幅に向上することがわかります。