この記事では、Typechoプラグイン作成チュートリアル(4):プラグインのマウントを中心に紹介します。 この記事では、プラグインポイントの見つけ方について説明します。必要なものをプラグインにマウントしてください。友達はそれを参照できます
最後に、構成情報を保存できたら、プラグインのマウント関数の作成を開始できます。
まず、システムがさまざまなキー リンクでプラグイン ポイントを予約していることを知る必要があります。システムがプラグイン ポイントまで実行すると、このポイントにプラグインが存在するかどうかが検出されます。 、プラグイン ロジックを実行します
プラグインの仕事は、適切なプラグイン ポイントを見つけてハングアップし、独自のロジックを実行することです。
プラグインポイント、プラグインフック、プラグインインターフェース。 。 。それがここ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');
「プラグインは正常にインストールされました。設定を入力し、アクセス キーを入力してください」を返します。
}
…
…
パブリック静的関数 render($contents, $class){
//何かしてください
}
}
コードから、プラグインがアクティブ化されると、システムはプラグイン クラス BaiduSubmitTest_Plugin の render メソッドをfinishPublish のインターフェイスにバインドすることがわかります。finishPublish は 2 つのパラメーターを渡すため、render メソッドも 2 つのパラメーターを受け入れる必要があります。
この時点で、プラグインが正常に有効になっている限り、記事の公開後にシステムが自動的に BaiduSubmitTest_Plugin:render() メソッドを呼び出します。
ソース コードを注意深く観察すると、このインターフェイスには戻り値がないことがわかります。
戻り値がある場合はどうなるでしょうか?この状況はより複雑なので、Lao Gaoが最初に穴を空けます。
なぜレンダーメソッドと呼ばれるのですか?
Lao Gaoはhello worldからコピペしたもので、名前は変更されていません。
次に何をするか
マウント ポイントが修正されたので、次のステップはコア ロジック コードを実行することです。
次の記事に譲ります、ラオガオ!
http://www.bkjia.com/PHPjc/1007643.html