Web 開発の世界では、PHP は最も人気のある言語の 1 つですが、残念ながら、必要なスクリプトを簡単に見つけることができます。 PHP プログラムを作成するための「ベスト プラクティス」。ここでは、PHP の 10 のベスト プラクティスを紹介します。もちろん、それらはそれぞれマスターによって証明されています。
PHP の作成者である Rasmus Lerdorf ほど、PHP を合理的に使用すべき場所を理解している人はいません。彼は 1995 年に PHP 言語をリリースしました。それ以来、PHP は開発キャンプ全体を焼き尽くす大草原の火のように、世界を変えてきました。インターネットの。ただし、Rasmus はこのような理由で PHP を作成したわけではありません。 PHP は、Web 開発者の実際的な問題を解決するために生まれました。
多くのオープンソース プロジェクトと同様に、PHP は人気が高まっていますが、その人気の動機は通常の哲学では説明できず、あまりにも人気があるため、やや自画自賛的ですらあります。これは、Web のさまざまな問題を解決するためのツールの必要性によって引き起こされたケースとして使用できます。したがって、PHP が最初に登場したとき、そのようなツールのニーズはすべて PHP に集中していました。
しかし、PHPですべての問題が解決されることを期待することはできません。 Lerdorf 氏は、PHP は単なるツールであり、PHP がその能力を超えている状況は数多くあることを初めて認めました。
作業に応じて適切なツールを選択してください。私は多くの企業を訪問して PHP を導入して使用するよう説得してきましたが、これは PHP があらゆる問題に適しているという意味ではありません。これは、ほとんどの問題を解決できる単なるフロントエンド スクリプト言語です。
Web開発者として、PHPを使ってあらゆる問題を解決しようとするのは非科学的であり、時間の無駄でもあります。 PHP が動作しない場合は、ためらわずに他の言語を試してください。
マット・マレンウェグの PHP に関する権威を疑問視する人は誰もいません。彼は地球上で最も人気のあるブログ システム (強力なコミュニティによってサポートされています) である WordPress を開発した後、無料のブログ サイトである WordPress .com プラットフォームを立ち上げました。 WordPress MU に基づいています。現在、WordPress.com には約 400 万人のユーザーがおり、毎日 140,000 件以上の投稿を投稿しています。 (WordPress.com の統計をさらに表示するには、ここをクリックしてください。)
ウェブサイトを簡単にスケールする方法を知っている人がいるとしたら、それはマット マレンウェグです。 2006 年、Matt は WordPress のデータ構造に将来を見据えた改善を加え、WordPress MU がすべてのブログ データを 1 つの巨大なテーブルに詰め込むのではなく、ブログごとに独立した MYSQL テーブルを使用する理由を説明しました。
この方法をテストしましたが、スケーラビリティを拡張するにはコストがかかりすぎることがわかりました。全体的なデータ構造を使用すると、大量のトラフィックに直面してサーバー ハードウェアの問題に直面することになります。 MU内。ユーザーは個別のテーブルに分散されており、簡単に整理できます。たとえば、WordPress.com はユーザー データを 4,096 のデータベースに保存しており、これらのデータベースは大規模なデータ アクセスを分散し、トラフィックや圧力を分散することができます。
データテーブルの移植性により、コード(ブログ)の実行が高速になり、システムのスケーラビリティが向上します。 Matt は、強力なキャッシュ戦略と柔軟なデータベース利用戦略を利用して、最も人気のある Facebook と WordPress.com が PHP で安定して動作し、驚くべき量のトラフィックを処理できることを人々に示しました。
Dave Child は、優れた「多くのプログラミング言語のチートシート」で有名な Web サイト、Added Bytes (以前の ilovejackdaniels.com) の中心人物です。 Dave は英国の多くの企業に勤務しており、プログラミング界の権威としての地位を確立しています。
Dave は PHP 開発者に多くの思慮深いアドバイスを提供し、それを「PHP で安全なコードを書く」にまとめました: ユーザーを決して信頼しないでください。ユーザーはあなたを傷つけることさえあります。
何度繰り返しても足りない Web 開発の基本原則があります。それは、ユーザーを決して信頼せず、Web サイト上のすべてのデータ単位がユーザーから収集された悪意のあるコードであると想定しないことです。多くの場合、クライアント上のフォームによって送信されたコンテンツを検証するには JavaScript を使用する必要があります。これに慣れている場合は、これが良い習慣になります。セキュリティが重要である場合、これは学ぶべき最も重要な原則です。
Dave は現在、著書「Writing Secure PHP」シリーズの例を整理する作業を行っています。本の最後で彼は次のように述べています。
最後に、少し妄想的になってみましょう。自分のサイトが決して攻撃されることはないと考えている場合を除き、問題に正面から向き合ってください。実際に攻撃されたら、悪い状況に陥ることになるからです。すべてのユーザーをサイトに攻撃と防御をもたらすハッカーと見なし、サイトのセキュリティを保護するために可能な限りのことを行うと同時に、対応する問題の解決策を考える必要があります。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 は、Eclipse PDT (Eclipse の PHP 開発パッケージ) のような IDE を使用し、いくつかのテンプレート テクノロジとオープン ソース プロジェクトを使用することで、PHP の開発速度を効果的に向上できると考えています。
計画がコンパクトで、やるべきことリストや期限が長いため、開発者は非常にイライラします。ただし、Eclipse テンプレートなどの一部の機能を使用すると、コーディング時間とエラーの可能性を効果的に削減できます。
一般に、どんなプロジェクトでも自動化の度合いが高くなるほど、プロジェクトの完了にかかる時間は短くなります。頻繁に使用されるフレームワークとテンプレートの開発に時間を費やすと、後でさらに時間を節約できます。同時に、Eclipse や PDT パッケージなどの IDE を使用すると、IDE が自動的に終了し、セミコロンを入力してローカルでデバッグできるため、効率が大幅に向上することがわかります。
6. PHP フィルター関数を上手に活用する – Joey Sochacki
ジョーイは、PHP コードを記述するときにフィルタリングが必要な場所がたくさんあることを発見しましたが、PHP の組み込みフィルタリング機能に注意を払うプログラマーは多くありません。
データのフィルタリングは頻繁に必要になることですが、機能豊富な PHP 組み込みフィルタリング関数の多くは知られていません。 filter_* などの PHP 組み込み関数を使用すると、データ型検証/URL/電子メールおよび IP アドレス検証/特殊文字処理などを含む、ほぼすべてのフィルタリング タスクを処理できます。
フィルタリングは複雑なものですが、joey の発見はあなたに多くのインスピレーションを与え、PHP の強力なフィルタリング機能を認識させることになると思います。
7. PHP フレームワークを使用する – Josh Sharp
Josh Sharp 自身もパンとバターのサービスを提供する Web サイトを作成したため、PHP フレームワークを使用して Web サイトを開発した経験があります。彼は、プロジェクト開発に PHP フレームワークを使用すると、効果的に時間を節約し、エラーの可能性を減らすことができると信じています。なぜ?それは、PHP は本当に簡単に始めることができると感じているからです。
PHP の使いやすさには時々欠陥があります。これは、構文が緩いため、多くの誤ったコードが作成されることが多いためです。ただし、PHP フレームワークを使用すると、エラーの可能性が大幅に減少します。
PHP フレームワークを使用すると、コード構造がより標準化され、時間を大幅に節約できます。
8. PHP フレームワークを使用しないでください – Rasmus Lerdorf
9. バッチ処理を使用する – Jack D. Herrington
Herrington は、バックグラウンドで実行できるプログラム スクリプトをバッチ処理と Cron を使用して置き換えることを推奨しています。Web ユーザーはオンラインでの処理を待ちたがらないため、バックグラウンドで処理する方が適しているものもあります。
確かに、場合によってはこれは少しやりすぎですが、Cron、MySQL、PHP オブジェクト指向メソッド、Pear::DB などの便利なツールを使用してバッチ処理ツールを作成するのは必ずしも簡単ではないことがわかります。 。
Jack は、cron、PHP、MySQL を使用してバックグラウンドで一部のタスクを処理する方が、マルチプロセスのビジネス ロジックよりもはるかにコスト効率が高いと考えています。
私は両方の方法を試しましたが、Cron は "Keep It Simple, Stupid" (KISS) の原則に非常に一致していると思います。バックグラウンド処理が簡単になります。マルチプロセスのビジネスロジックと比較して、メモリオーバーフローのリスクがありません。単純なバッチ スクリプトを作成し、cron で実行できます。このスクリプトは、処理する必要のあるタスクがあるかどうかを定期的にチェックし、処理後に自動的に終了するため、プロセスが停止しているかどうかを心配する必要はありません。無限ループにはまってしまいました。
David Cummings は CMS ソフトウェア サービスの提供を専門とする会社を経営しており、PHP 開発において非常に豊富な経験を持っています。 David はかつて「最初に学んでいればよかった 2 つの PHP ヒント」を書きました。そのうちの 1 つは、時間内のエラー報告を有効にすることで、時間を大幅に節約できるというものでした。
最も重要なことは PHP でのエラー報告を最大限に高めることだと私は人々に言います。なぜですか? PHP には多くの小さな問題が隠されている可能性があるためです:
◆変数は事前定義されていません
◆コードスニペット内で使用できない変数が参照されています
◆未定義定数の使用 これらの要素は、オブジェクト指向のアプローチを使用してクラス ライブラリを作成していない限り、大した問題ではないように思えるかもしれません。多くの場合、エラー報告をオフにすると、コードの保守コストが高くなる可能性があります。
エラーレポートは、コードの問題を簡単に見つけるのに役立ちます。エラーレポートのレベルが十分に高い場合は、微妙なエラーをすぐに発見できるため、全体的なデバッグ時間を節約できます。
海外には評価と追跡のための特別な Web サイトがあります
以下は、MVC デザイン パターンに基づいた最も人気のある PHP フレームワーク 10 つです。
1. Yii
Yii は、大規模な Web アプリケーションを開発するためのコンポーネントベースの高性能 PHP フレームワークです。 Yii は厳密な OOP で書かれており、完全なライブラリ リファレンスと包括的なチュートリアルが含まれています。 MVC、DAO/ActiveRecord、ウィジェット、キャッシュ、階層型 RBAC、Web サービスからプリンシパル化、I18N および L10N まで、Yii は今日の Web 2.0 アプリケーション開発に必要なほぼすべてを提供します。そしてこのフレームの価格はそれほど高くありません。実際、Yii は最も効率的な PHP フレームワークの 1 つです。
2. CodeIgniter
CodeIgniter はアプリケーション開発フレームワークであり、PHP Web サイトを構築する人のために設計されたツールキットです。その目標は、プロジェクトを迅速に開発することです。一般的なタスクを完了するための豊富なライブラリ セットと、これらのライブラリにアクセスするためのシンプルなインターフェイスとよく整理された構造が提供されます。 CodeIgniter を使用して開発すると、コーディング時間を大幅に節約できるため、プロジェクトにより多くの創造性を注入できます。
3. CakePHP
CakePHP は、ActiveRecord、Association Data Mapping、フロント コントローラー、MVC などのいくつかの一般的な設計パターンを使用する、PHP の迅速な開発のためのフレームワークです。その主な目標は、あらゆるレベルの PHP 開発者が Web アプリケーションを迅速に開発できるフレームワークを提供することであり、この迅速な実装によってプロジェクトの柔軟性が犠牲になることはありません。
4. PHPDevShell
PHPDevShell は、JavaScript を使用せずに純粋な PHP を開発するためのオープンソース (GNU/LGPL) 高速アプリケーション開発フレームワークです。完全な GUI 管理者バックエンド インターフェイスを備えています。その主な目標は、速度、セキュリティ、安定性、柔軟性が最優先される、プラグインなどの管理ベースのアプリケーションを開発することです。学習が容易になるように設計されているため、PHP 開発者は複雑な新しい用語を学ぶ必要がありません。 PHPDevShell の登場により、軽量でありながら制限なく構成できる完全に機能する GUI に対する開発者のニーズが満たされます。
5. Akelos
Akelos PHP フレームワークは、MVC デザイン パターンに基づいた Web アプリケーション開発プラットフォームです。適切な使用習慣に基づいて、これを使用して次のタスクを実行できます:
◆ Ajax を便利に使用してビューを作成する
◆ コントローラーを介してリクエストと応答を管理する
◆ 国際的なアプリケーションを管理する
◆ シンプルなプロトコルとモデルとデータベースの通信を使用する
Akeloサーバー上の Akelos の唯一の要件は PHP をサポートすることであるため、アプリケーションはほとんどの共有ホスティングプロバイダーで実行できます。したがって、Akelos PHP フレームワークは、実行するために非標準の PHP 構成を必要としないため、スタンドアロン Web アプリケーションを公開するのに最適です。
6. Symfony
Symfony は、PHP5 プロジェクトを開発するための Web アプリケーション フレームワークです。
このフレームワークの目的は、Web アプリケーションの開発とメンテナンスを高速化し、反復的なコーディング作業を削減することです。
Symfony はシステム要件が低く、どのようなセットアップにも簡単にインストールできます。必要なのは、Unix または Windows と、PHP5 がインストールされた Web サーバーだけです。ほぼすべてのデータベースと互換性があります。 Symfony の価格はそれほど高くはなく、ホストのコストよりもはるかに低いです。
PHP 開発者にとって、Symfony を使用するのは自然なことであり、学習曲線はわずか 1 日です。すっきりとしたデザインとコードの読みやすさにより、開発時間が短縮されます。開発者は、アジャイル開発の原則 (DRY、KISS、XP など) を適用して、無限の XML 構成ファイルの作成に多くの時間を費やすことなく、アプリケーションのロジック レベルに集中できます。
Symfony は、エンタープライズレベルで完全なアプリケーションを構築するように設計されています。つまり、セットアップ全体を制御できます。パス構造から外部ライブラリに至るまで、ほぼすべてをカスタマイズできます。エンタープライズ開発規制に準拠するために、Symfony にはプロジェクトのテスト、デバッグ、アーカイブを容易にするいくつかの追加ツールもバンドルされています。
7...本文の続き>>
世界で一番売れた本、歴史上最も売れたスピリチュアルなインスピレーションの本〜ロンダ・バーンの『ザ・シークレット』と究極の潜在能力開発の法則(つまり徹底した開発)を紹介するビデオを読むことをお勧めします参考になると思いますよ〜
Youkuで「Secret Law of Attraction」と「Secret 2 the opus」を検索すると視聴できます
「秘密」中国語 Web サイト (量子「秘密」フォーラム) でもご覧ください。hi.baidu.com/ ...7.html ビデオの高解像度バージョンをダウンロードしてください
ビデオのマスターは全員世界クラスです潜在的なマスターと成功マスター〜
その中で、アンソニー・ロビンが推奨したのは、「ザ・シークレット」を本当に理解している人は、彼が望むすべてを手に入れることができなければならないと敢えて言えます! ——アンソニー・ロビン