我是PHP的新手,并且正在尝试为Wordpress开发一个Facebook共享计数器。正如一位成员所建议的那样,由于每次调用API并减慢网站速度并不是最佳的,所以我决定缓存结果并使用静态方法。这是我正在使用的代码。
function fb_cache($atts) {
$url = $atts['url'];
static $fb_cache = array();
if (isset($fb_cache[$url])) {
$fb_count = $fb_cache[$url];
return $fb_count;
} else {
$fb = json_decode( file_get_contents('http://graph.facebook.com/' . $url) );
$fb_count = $fb->share->share_count;
$fb_cache[$url] = $fb_count;
return $fb_count;
}
}
这似乎不起作用,因为数字每隔几秒就会不断变化,因此每次都会进行API调用。要将它用作插件,我最后还有一个实例化代码。
static function get_instance() {
static $instance = false;
if ( ! $instance ) {
$instance = new self;
}
}
有人可以告诉我我做错了什么。如果这是一个noob问题,如果我完全使用错误的方法,我道歉。