ホームページ >バックエンド開発 >PHPチュートリアル >Typechoプラグイン作成チュートリアル(4):プラグインのマウント、typechoのマウント_PHPチュートリアル
最後に、設定情報を保存できたら、プラグインのマウント関数の記述を開始できます。
まず、システムがさまざまなキー リンクでプラグイン ポイントを予約していることを知る必要があります。システムがプラグイン ポイントまで実行すると、このポイントにプラグインがハングしているかどうかが検出されます。をクリックして、プラグイン ロジックを実行します。
プラグインの仕事は、適切なプラグイン ポイントを見つけてハングアップし、独自のロジックを実行することです。
プラグインポイント、プラグインフック、プラグインインターフェース。 。 。それがここLao Gaoのコンセプトです
公式プラグインインターフェースと機能リスト
プラグインが実行する必要があるロジックは、Widget_Contents_Post_Edit クラスのfinishPublish メソッドです
ファイル パスは var/Widget/Contents/Post/Edit.php:736 です。インターフェイスが 2 つのパラメーターを渡していることがわかります。1 つは公開されたコンテンツで、もう 1 つはクラス自体です。クラス自体を使用すると、プラグイン内でそのパブリック メソッドを自由に呼び出すことができます。
コードをコピーします コードは次のとおりです:
// 記事が公開され、プラグインインターフェースがリリースされました
$this->pluginHandle()->finishPublish($contents, $this);
ページ公開インターフェイスもあります。これについては、以下のコードで説明します。
取り付け方法
コードは以下の通り、一部省略しています。
コードをコピーします コードは次のとおりです:
クラス BaiduSubmitTest_Plugin は Typecho_Plugin_Interface を実装します
{
パブリック静的関数 activate(){
//記事とページを公開するためのインターフェースをマウントします
Typecho_Plugin::factory('Widget_Contents_Post_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');
Typecho_Plugin::factory('Widget_Contents_Page_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');
return 'プラグインは正常にインストールされました。設定を入力してアクセス キーを入力してください';
}
...
...
パブリック静的関数 render($contents, $class){
//何かする
}
}
コードから、プラグインがアクティブ化されると、システムはプラグイン クラス BaiduSubmitTest_Plugin の render メソッドをfinishPublish インターフェイスにバインドすることがわかります。 finishPublish は 2 つのパラメータを渡すため、render メソッドも 2 つのパラメータを受け入れる必要があります。
この時点で、プラグインが正常に有効になっている限り、記事の公開後にシステムが自動的に BaiduSubmitTest_Plugin:render() メソッドを呼び出します。
ソース コードをよく見てください。このインターフェイスには戻り値がないことがわかります。戻り値がある場合はどうなるでしょうか。
この状況はさらに複雑で、Lao Gaoが最初に穴を空けます。
なぜこれが render メソッドと呼ばれるのですか?
Lao Gao は hello world からコピーして貼り付けました。名前は変更されていません。
次に何をするか
マウント ポイントが完了したので、次のステップはコア ロジック コードを実行することです。
ラオガオ、それは次の記事に任せましょう!