ホームページ >バックエンド開発 >PHPチュートリアル >Typechoプラグイン作成チュートリアル(6):interface_PHP呼び出しチュートリアル
この記事では、Typecho プラグイン作成チュートリアル (6): インターフェイスの呼び出しを中心に紹介します。シリーズの最後の記事です。参考にしてみてください
この記事では、インターフェースの呼び出しを開始します。このメソッドでは、システム構成を通じてインターフェース呼び出しアドレスを取得します。
Baidu が提供する例では php の CURL を使用しています。より高度な使用方法については、PHP_cURL の初期化と実行方法を学ぶことができます。
それでは、Baidu ウェブマスターから提供されたコードを組み合わせてみましょう。?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
/** * データを送信します * @param $url 送信するURL * @param $options システム構成 */ パブリック静的関数 send_post($url, $options){ //APIを取得 $api = $options->plugin('BaiduSubmitTest')->api;
//データを準備します if( is_array($url) ){ $urls = $url; }その他{ $urls = 配列($url); }
$ch =curl_init(); $オプション = 配列( CURLOPT_URL => $api, CURLOPT_POST => true、 CURLOPT_RETURNTRANSFER => true、 CURLOPT_POSTFIELDS => implode("n", $urls), CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), ); curl_setopt_array($ch, $options); $result =curl_exec($ch);
//ログを記録する file_put_contents('/tmp/send_log', date('H:i:s') . $result . "n"); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
パブリック静的関数 send_post($url, $options){ //APIを取得 $api = $options->plugin('BaiduSubmitTest')->api;
//データを準備します if( is_array($url) ){ $urls = $url; }その他{ $urls = 配列($url); }
//通話を確実に成功させるために、Lao Gaoが先に判断を下しました if (false == Typecho_Http_Client::get()) { throw new Typecho_Plugin_Exception(_t('申し訳ありませんが、あなたのホストは php-curl 拡張機能をサポートしておらず、allow_url_fopen 関数がオンになっていないため、この関数は通常は使用できません')); }
//リクエストを送信 $http = Typecho_Http_Client::get(); $http->setData(implode("n", $urls)); $http->setHeader('Content-Type','text/plain'); $result = $http->send($api);
//ログを記録する file_put_contents('/tmp/send_log', date('H:i:s') . $result . "n"); } } |
これでプラグインは基本的に実行できるようになりましたが、構造はさらに最適化することができます