元のアドレス: http://nettuts.com/tutorials/php/10-principles-of-the-php-masters/
翻訳および編集: Andrew、転載する必要がある場合は出典を明記してください。
1. 適切な場合には PHP を使用する - Rasmus Lerdorf
PHP を合理的に使用すべき状況を最も理解している人は、PHP の作成者である Rasmus Lerdorf です。彼は 1995 年に PHP 言語をリリースしました。それ以来、PHP は草原の火のように開発陣営全体を焼き尽くしてきました。インターネット。 ただし、Rasmus はこのような理由で PHP を作成したわけではありません。 PHP は、Web 開発者の実際的な問題を解決するために生まれました。
多くのオープンソース プロジェクトと同様に、PHP は人気が高まっていますが、その人気の動機は通常の哲学では説明できず、あまりにも人気があるため、ある種自画自賛的ですらあります。これは、Web のさまざまな問題を解決するためのツールの必要性によって引き起こされたケースとして使用できます。したがって、PHP が最初に登場したとき、そのようなツールのニーズはすべて PHP に集中していました。
ただし、PHP ですべての問題が解決されるとは期待できません。 Lerdorf 氏は、PHP は単なるツールであり、PHP がその能力を超えている状況は数多くあることを初めて認めました。
作業に適したツールを選択してください。私は多くの企業を訪問して PHP を導入して使用するよう説得してきましたが、これは PHP があらゆる問題に適しているという意味ではありません。これは、ほとんどの問題を解決できる単なるフロントエンド スクリプト言語です。
Web 開発者として、PHP を使用してすべての問題を解決しようとするのは非科学的であり、時間の無駄です。 PHP が動作しない場合は、ためらわずに他の言語を試してください。
2. マルチテーブル ストレージを使用してスケーラビリティを向上させる - マット マレンウェグ
PHP に関するマット マレンウェグの権威を疑問視する人は誰もいません。彼は、WordPress を作成した後、地球上で最も人気のあるブログ システム (強力なコミュニティによってサポートされています) を開発しました。彼のチームは、WordPress MU に基づく無料のブログ サイトである WordPress.com プラットフォームを立ち上げました。現在、WordPress.com には約 400 万人のユーザーがおり、毎日 140,000 件以上の投稿を投稿しています。 (WordPress.com の統計情報をさらに詳しく見るには、ここをクリックしてください。)
Web サイトを簡単に拡張する方法を知っている人がいれば、それは 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 をベースにしたブログなど) の場合は、変更が必要になる可能性があります。これらの変更にはそれほど時間はかかりませんが、大幅な変更が必要になります。パフォーマンスへの貢献。 複雑で更新の速いサイトにキャッシュ メカニズムを確立したい場合、そのプロセスは複雑になる可能性がありますが、利点は明らかです。
Ben は次のような PHP キャッシュ テクノロジを推奨しました。
キャッシュ関数 実行結果 有効期限の設定 キャッシュ ファイル テンプレート IE によってダウンロードされたキャッシュ テクノロジ
Cache_Lite
動的言語としての PHP の特性により、キャッシュ メカニズムは頻繁に更新されないサイトにとって非常に重要です。
5. IDE、テンプレート、スニペットを使用して PHP 開発を加速する - Chad Kieffer
Chad Kieffer が UI デザインとデータベース最適化の作業から離れているときは、ブログで多くの技術的な経験を共有します 2 大さじ。チャドは多くの面で包括的な開発を行っているため、他のプログラマーが見つけられない問題を頻繁に見つけて、関連する経験、特に Web サイト開発方法を形成することができます。彼はウェブサイト開発のあらゆる側面に携わっているため、彼のアドバイスはウェブサイト開発の全体像を改善するのに非常に役立ちます。
Chad は Eclipse PDT の使用を考えています
(Eclipse の PHP 開発パッケージ) このような IDE は、いくつかのテンプレート テクノロジとオープン ソース プロジェクトを使用しながら、PHP 開発の速度を効果的に向上させることができます。
厳しい計画、長い To Do リスト、期限があると、開発者は非常にイライラします。ただし、Eclipse テンプレートなどの一部の機能を使用すると、コーディング時間とエラーの可能性を効果的に削減できます。
一般に、どのプロジェクトも自動化することができ、自動化の度合いが高まるほど、プロジェクトの完了にかかる時間は短くなります。頻繁に使用されるフレームワークとテンプレートの開発に時間を費やすと、後でさらに時間を節約できます。同時に、Eclipse や PDT パッケージなどの IDE を使用すると、IDE が自動的に終了し、セミコロンを入力してローカルでデバッグできるため、効率が大幅に向上することがわかります。
関連記事:
WordPress は 2.3.2 に正常にアップグレードされました。タグは役に立ちませんが、セキュリティ上の理由から、2 年前の 2.0.5 から現在の 2.3.2 へのアップグレードのコピーが必要です。勇気と決意のおかげで、幸いにもローカルでアップグレードを実行する際には問題はありませんでしたが、テンプレートの機能にはいくつかの簡単な変更が必要でした。 オンライン アップグレードはスムーズに完了しましたが、アップグレード方法についての質問を投稿しただけではないかと疑問に思う人も多いでしょう。さて、私は WordPress 自動アップグレード プラグインという最高のツールを見つけました。この WordPress 自動アップグレード プラグインは、アップグレード前にすべてのファイルとデータをバックアップしてくれるので、本当に安心してアップグレードできます。 "." タイプなので、アップグレードを心配したくないブロガーには非常に適していると思いますが、アップグレード後のエクスポート機能に問題があります。が見つかりません。この問題が一般的なものなのか、それとも私のブログの問題なのかはわかりません。同じ問題に遭遇した友人はメッセージを残してください。解決策を調査します。 (調べた結果、coolcodeプラグイン内のアクセスパスに問題があることが判明しました。このプラグインの有効化を解除すれば、エクスポート機能は正常に使用できます。)...
WordPress 2.0 からアップグレードした経験のある人はいますか? 今日、当初はアップグレードしようと思って wordpress-2.3.2 をダウンロードしましたが、バージョンがかなり大きくなり、データ構造の変更もかなり大きくなったようで、アップグレードが面倒でした。リスクが大きすぎるので、とりあえず諦めました。 友人が WordPress 2.0 から 2.3 にアップグレードした経験がありますので、教えてください。 ...
翻訳: 「14 の優れたウェブマスター ツール」 (パート 2) 原文: http://www.conversion-rate-experts.com/articles/ Understanding-your - Visitor/ この記事は Andrew( http://www . achome.cn )を独自に翻訳したものであり、転載する場合は出典を明記してください。ユーザーは最高の広報担当者であり、営業担当者です。友達に紹介する王様、ぜひ彼らの宣伝方法を聞いてください。ユーザー推薦システムはありますか?ユーザーがメッセージを送信して友達を招待できるシステム。これらのユーザーから送られた手紙には、「なぜユーザーはあなたの Web サイトにお金を使うのですか?」という質問に対する答えが含まれていることがわかります。多くの人は自分自身のポジショニングや魅力的な広告言葉の開発に多くの時間を費やしていますが、ユーザーの声を通して、なぜユーザーがあなたを好むのかを知ることができます。 ユーザーのフィードバックを簡単に収集できます。Kampyle では、今すぐお試しください。Kampyle を使用すると、ユーザーは (ページの下部にある小さなボタンを使用して) フィードバックを送信できます。クリックすると、ユーザーが意見を入力するためのウィンドウが表示されます。提案。ウェブマスターは、Kampyle の公式 Web サイトにログインして、収集されたユーザー フィードバックを表示および管理できます。ユーザーが電子メール アドレスを離れる場合、ウェブマスターはフィードバックを受け取ったことをユーザーに簡単に通知し、対応する改善を行うことができます。 ...
6. PHP のフィルター機能を上手に活用する - Joey Sochacki
おそらく Joey Sochacki は Matt Mullenweg ほど有名ではありませんが、経験豊富な開発者でもあり、Devolio のブログを通じて多くの技術的経験を共有しています
。プロセス内でフィルタリングが必要な箇所は数多くありますが、PHP の組み込みフィルタリング機能に注意を払うプログラマーはそれほど多くありません。
データのフィルタリングは頻繁に必要となる作業ですが、機能が豊富な PHP の組み込みフィルタリング関数の多くは知られていません。 filter_* などの PHP 組み込み関数を使用すると、データ型検証/URL/電子メールおよび IP アドレス検証/特殊文字処理などを含む、ほぼすべてのフィルタリング タスクを処理できます。
フィルタリングは複雑なものですが、joey の発見はあなたに多くのインスピレーションを与え、PHP の強力なフィルタリング機能を認識させるでしょう。
7. PHP フレームワークを使用する - Josh Sharp
Zend、CakePHP、Code Igniter、またはその他の PHP フレームワークを使用するかどうかについては多くの論争がありますが、Web 開発者の心の中には独自の測定基準があります。
Josh Sharp は、独自の基本的な Web サイトを作成したため、PHP フレームワークを使用して Web サイトを開発した経験があります。彼は、プロジェクト開発に PHP フレームワークを使用すると、効果的に時間を節約し、エラーの可能性を減らすことができると信じています。なぜ?それは、PHP は本当に簡単に始めることができると感じているからです。
PHP は使いやすいですが、構文が緩いために多くの誤ったコードが作成されることが多いため、欠点もあることがあります。ただし、PHP フレームワークを使用すると、エラーの可能性が大幅に減少します。
PHP フレームワークを使用すると、コード構造がより標準化され、時間を大幅に節約できます。詳細については、「PHP フレームワークを使用する利点」を参照してください。
8. PHP フレームワークを使用しない -
PHP の創始者である Rasmus Lerdorf は、PHP フレームワークを使用しないのが最善であると考えていますが、それは Josh の見解とはまったく逆です。フレームワークに基づいていない PHP の方がパフォーマンスが良いためです。
Drupalcon 2008 での講演で、Rasmus 氏は「Hello World」の例を使用して、あるフレームワーク PHP と単純な PHP のパフォーマンスを比較しました。その結果、フレームワーク PHP のパフォーマンスが大幅に遅れていることがわかりました。
9. バッチ処理を使用する - Jack D. Herrington
Jack Herrington は PHP の世界に精通しており、有名な IBM DeveloperWorks に 30 以上の記事を寄稿しており、「PHP Hacks」という本も出版しているため、真の専門家です。
Herrington 氏は、バックグラウンドで実行できるプログラム スクリプトをバッチ処理と Cron を使用して置き換えることを推奨しています。Web ユーザーはオンラインでの処理を待ちたがらないため、バックグラウンドで処理する方が適しているものもあります。
確かに、これは場合によってはやりすぎですが、Cron、MySQL、PHP オブジェクト指向メソッド、および Pear::DB を使用してバッチ処理ツールを作成するのは簡単な作業ではないことが明らかです。
Jack は、cron、PHP、および MySQL を使用して一部のタスクをバックグラウンドで処理する方が、マルチプロセスのビジネス ロジックよりもはるかにコスト効率が高いと考えています。
私は両方の方法を試しましたが、Cron はバックグラウンド処理をシンプルにする「Keep It Simple, Stupid」(KISS) 原則と非常に一致していると思います。マルチプロセスのビジネスロジックと比較して、メモリオーバーフローのリスクがありません。単純なバッチ スクリプトを作成し、cron で実行できます。このスクリプトは、処理する必要のあるタスクがあるかどうかを定期的にチェックし、処理後に自動的に終了するため、プロセスが停止しているかどうかを心配する必要はありません。無限ループにはまってしまいました。
10. タイムリーなエラー報告を有効にする -
David Cummings は、CMS ソフトウェア サービスの提供を専門とする会社を経営しており、PHP 開発において非常に豊富な経験を持っています。
David はかつて「最初に学べばよかった 2 つの PHP ヒント」を書きました。そのうちの 1 つは、時間内のエラー報告を有効にすることで、時間を大幅に節約できるというものです。
私が人々に伝えている最も重要なことは、PHP でのエラー報告を最大限に活用することです。 PHP は多くの小さな問題を隠すことができるため、
変数が事前定義されていない、使用できない変数がコード スニペットで参照されている、未定義の定数が使用されているなど、オブジェクトを使用してクラス ライブラリを作成していない限り、これらの要素は大した問題ではないように思えるかもしれません。指向のアプローチ。多くの場合、エラー報告をオフにすると、コードの保守コストが高くなる可能性があります。
エラー レポートはコードの問題を簡単に見つけるのに役立ちます。エラー レポートのレベルが十分に高い場合は、微妙なエラーをすぐに発見できるため、全体的なデバッグ時間を節約できます。