ホームページ >バックエンド開発 >PHPチュートリアル >phpでプラグインの仕組みを実装する方法の紹介

phpでプラグインの仕組みを実装する方法の紹介

WBOY
WBOYオリジナル
2016-07-25 09:03:40973ブラウズ
この記事で紹介する内容はプラグインの仕組みとそのPHPでの実装についての私の理解であり、この解決策はプラグインの仕組みの実装方法の一つにすぎず、参考程度にしてください。

この記事で紹介した内容は、プラグインの仕組みとそのPHPでの実装についての私の理解であり、この解決策はプラグインの仕組みの実装方法の一つにすぎず、参考程度にしてください。

プラグインとも呼ばれるプラグインは、特定のタイプの機能モジュールを指します (通常はサードパーティの開発者によって実装されます)。その特徴は、必要なときにアクティブ化し、不要なときに無効化/削除することです。つまり、プラグインは、コア プログラム間の疎結合を実現する非侵入型のモジュール設計です。そしてプラグインプログラム。典型的な例は、ユーザー コメントのスパムをフィルタリングするために使用される Akimet プラグインなど、WordPress の多数のサードパーティ プラグインです。

堅牢なプラグイン メカニズムには次の特性が必要だと私は考えています:

プラグインの動的なモニタリングと読み込み (ルックアップ) プラグインの動的なトリガー

上記2点の実装はコアプログラムの動作には影響しません

プログラムにプラグインを実装するには、最初にさまざまなフックを定義することを考えなければなりません。「フック」は非常に鮮明な論理概念であり、システムによって予約されているプラ​​グインのトリガー条件と考えることができます。 。その論理原理は次のとおりです。システムは特定のフックを実行するときに、フックの条件が満たされているかどうかを判断し、満たされている場合は、最初にフックで指定された関数を呼び出し、次に戻ってフックの実行を継続します。プログラムの残りの部分が満たされていない場合は、フックで指定された関数が最初に呼び出され、それをスキップします。これは、アセンブリの「割り込み保護」ロジックに似ています。

一部のフックは、システムによって事前に設計されている場合があります。たとえば、コメント スパム フィルタリングについて前述したフックは、通常、コア システム開発者によってコメント処理ロジックに組み込まれるように設計されています。カスタマイズされた (サードパーティ開発者によって策定された) もので、通常は通常の PHP フォーム表示ページなどのプレゼンテーション層に存在します。 以下の指示をよく理解してください。

以下は、PHP におけるプラグイン メカニズムのコア実装です。メカニズム全体のコアは 3 つの主要なブロックに分かれています。

プラグインマネージャークラス: これはコア中のコアです。これはアプリケーションのグローバルな Global オブジェクトです。それには 3 つの主な責任があります:

登録されているすべてのプラグインを監視し、これらのプラグイン オブジェクトをインスタンス化します。 すべてのプラグインの登録を担当します。 フック条件が満たされると、対応するオブジェクト メソッドがトリガーされます。

プラグイン機能の実装: これは主にサードパーティの開発者によって行われますが、このルールはプラグインのメカニズムによって規定されており、このルールはプラグインのメカニズムによって異なります。以下の表示コードにあります。

プラグイントリガー: つまり、フックのトリガー条件です。具体的には、これは、このフックをトリガーするプラグイン実装が必要な場所に配置される小さなコードです。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。