ホームページ >バックエンド開発 >PHPチュートリアル >Typechoプラグイン作成チュートリアル(5):コアコード_PHPチュートリアル

Typechoプラグイン作成チュートリアル(5):コアコード_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:52:33946ブラウズ

Typecho プラグイン作成チュートリアル (V): コア コード

この記事では、主に Typecho プラグイン作成チュートリアル (V): コア コードを説明します。参考になります

前にたくさん話しましたが、今はコアのコードを書き始めています。

分析すると、記事を公開するときに必要な情報は現在の記事のURLであり、それを$contentsと$classから取得する方法を見つける必要があります。

現在のプラグイン クラス コードは次のとおりです (レンダリングを送信に変更していることに注意してください)

コードは次のとおりです:

クラス 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');

「プラグインは正常にインストールされました。設定を入力し、アクセス キーを入力してください」を返します。

}

パブリック静的関数 deactivate(){

// 何かをする

return 'プラグインは正常にアンインストールされました';

}

public static function config(Typecho_Widget_Helper_Form $form){

$element = new Typecho_Widget_Helper_Form_Element_Text('api', null, null, _t('Access Key'), '取得するには百度ウェブマスタープラットフォームにログインしてください');

$form->addInput($element);

}

パブリック静的関数personalConfig(Typecho_Widget_Helper_Form $form){}

パブリック静的関数 send($contents, $class){

//何かしてください

}

}

URLを取得

パーマネントリンクの取得はルーティングルール+Typecho_Common::urlによって生成する必要があります!

コードをコピーします。コードは次のとおりです:

クラス 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');

「プラグインは正常にインストールされました。設定を入力し、アクセス キーを入力してください」を返します。

}

パブリック静的関数 deactivate(){

// 何かをする

return 'プラグインは正常にアンインストールされました';

}

public static function config(Typecho_Widget_Helper_Form $form){

//インターフェース呼び出しアドレスを保存します

$element = new Typecho_Widget_Helper_Form_Element_Text('api', null, null, _t('インターフェース呼び出しアドレス'), '取得するには百度ウェブマスタープラットフォームにログインしてください');

$form->addInput($element);

}

パブリック静的関数personalConfig(Typecho_Widget_Helper_Form $form){}

/**

*データの準備

* @param $contents 記事内容

* @param $class インターフェースを呼び出すクラス

* @throws Typecho_Plugin_Exception

*/

パブリック静的関数 send($contents, $class){

//記事属性が非表示または公開遅延の場合

if( 'publish' != $contents['visibility'] || $contents['created'] > time()){

戻る;

}

//システム構成を取得する

$options = Helper::options();

//APIが適切に設定されているかどうかを判断します

if( is_null($options->plugin('BaiduSubmitTest')->api) ){

戻る;

}

//記事タイプを取得する

$type = $contents['type'];

//ルーティング情報を取得します

$routeExists = (NULL != Typecho_Router::get($type));

//永続的な接続を生成します

$path_info = $routeExists ? Typecho_Router::url($type, $contents) : '#';

$permalink = Typecho_Common::url($path_info, $options->index);

}

}

コード内にコメントがあるため、詳細は説明しません。

この時点で記事の永久リンクを取得しました。次のステップはデータを Baidu サーバーに送信することです

このセクションは終了です!

www.bkjia.com本当http://www.bkjia.com/PHPjc/1007645.html技術記事 Typecho プラグイン作成チュートリアル (5): コア コード この記事では、Typecho プラグイン作成チュートリアル (5): コア コードを中心に紹介します。 必要なもの...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。