はじめに
APIを初めて使ったというだけのメモ書きです。
file_get_contentsで取ればいいんだ、というだけです。
ほとんどSyncerさんのコードをパク……参考にしました
https://syncer.jp/hatebu-api-matome
CakePHPのバージョンは2.9.1です。
コード
Controller/HatebuController.php
<?php
App::uses('AppController', 'Controller');
class HatebuController extends AppController {
public $uses = null; // Model使わない
public function index() {
// チェックするURL
$target_url = $this->request->data('target_url');
// JSONデータを取得
$count = @file_get_contents(
'http://api.b.st-hatena.com/entry.count?url='
. rawurlencode( $target_url )
);
// データが存在しない場合は0扱い
if( !isset($count) || empty($count) ) {
$count = 0;
}
// Viewに値を渡す
$this->set(compact('target_url','count'));
}
}
View/Hatebu/index.ctp
<h2>はてなブックマーク総数カウンター</h2>
<?php
echo $this->Form->create(false,array(
'type' => 'post',
));
echo $this->Form->input('target_url',array(
'type' => 'url',
'label' => 'URL (http://またはhttps://から入力)',
));
echo $this->Form->submit('Submit');
echo $this->Form->end();
?>
<br><br>
<h3>URL : <?php echo $target_url; ?></h3>
<h3>結果は [ <?php echo $count ?> ] 件です</h3>
以上です