主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
基于Yar的WordPress微博墙插件在移动互联网时代,微博已经成为每个人生活中不可或缺的社交工具。WordPress是世界上最受欢迎的博客系统。将你的博客连接到新浪微博,借助微博强大的用户基础,不仅能为你的网站提供巨大的流量,还能带来不可估量的价值。
WordPress微博墙就是这样一个工具。这不是普通的插件,而是SAE内置的基于Yar的插件。它非常轻便。不像其他插件,它提供了很多华丽却不实用的功能,不仅臃肿而且速度慢。这是一个基于Yar的插件,用底层C语言开发,性能非常优秀。并且它是可扩展的,因此它可以为您提供以下功能:
1.个人微博墙2。发布文章同步到新浪微博3。发布评论同步到新浪微博接下来,介绍一下基本结构:
1核心数据操作类这个类在Dao.class.php文件中。它是插件的核心,负责从服务器获取数据。
/* * * *用户数据获取类* @作者summer * @日期2015年6月28日* @ site http://www.xtwind.com * */class Dao {/* * *微博RPC操作对象*/private $ client;/* * *用户ID */private $ mark;/* * *构造函数设置用户ID */function _ _ construct($ state);/* * *返回用户ID */公共函数get mark();/* * *启用插件* @返回成功返回真,失败返回认证地址*/公共函数run();/* * *获取授权状态* @return string返回过期时间,未登录或过期则返回false */public函数getauthover();/* * *删除授权* @ return boolean */public function de lauth();/* * *获取认证跳转URL * @ return string */public函数getauthurl();/* * *获取用户微博列表* @ return array */public function Get Weibo();/* * *获取用户基本信息* @ return array */public function getuser();/* * *发布微博*@return Array返回微博数据数组*/公共函数webpub ($ content,$ imgur = null);/* * * Delete Weibo * @ param int Weibo ID * @ return Array返回删除的微博数据数组*/public function Wei model($ Weibo ID);/* * *发表评论*@param int微博ID*@param string评论内容* @返回数组评论相关数组*/公共函数发送评论($ id,$ comment);/* * * Follow a user *@param用户ID或名称*@return返回关注者的信息*/公共函数Follow user($ user);/* * *转发微博*@param int微博id*@param string添加内容*/公共函数转发微博($ id,$ text = null);}2插件实体类该类是插件的实体,在Plugins.class.php定义,负责调用Dao类实现各种功能,包括输入输出、用户配置、授权管理等。
/* * *插件实体类* @作者:summer * @ data:2015-06-28 * @ site:http://www.xtwind.com */class plugins {/* * *数据采集类对象*/private $ Dao;/* * *插件显示别名*/private $ slug = # 39;微博-墙 # 39;;/* * *插件页面URL */private $ plug URL;/* *插件构造* @param用户数据操作类*/public function _ _ construct(Dao $ obj);/* * *启用插件,注册钩子,调用用户函数,删除授权,发布微博* @param数组插件设置选项关联数组。该键必须是对应的操作方法,该数组中的键将被注册为wordpress * @param数组动作的对应钩子进行过滤。该数组中的键不会注册为钩子,而是作为方法调用,值为方法*/公共函数run的参数($ arr1 /* * *插件主页显示*/公共函数display _ function();/* * *新文章同步发布在微博* @ param int article id */公共函数publish _ post($ postid);/* * *同步删除文章,删除微博* @param int文章ID */public函数before _ Delete _ post($ postID);/* * *收到的评论同步到微博评论*@param id评论id */公共函数comment _ post($ comment id);/* * *关注作者*/公共函数Follow _ author($ userid);/* * *用户微博数据采集*/公共函数微博输出($ atts = null,$ content = null);/* * *数据页面输出*/公共函数show Weibo();/* * *图片URL处理* @ paramstring */privatefunctiongetoriginalurl($ URL);/* * *时间转换* @ param string */私有函数sec 2 time($ time);/* * *插件设置key获取* @ param string key */私有函数setting _ key ($ key,$ func = false);/* * *插件设置值get * @ param string value */私有函数get _ setting ($ key,$ func = false);/* * *插件设置Delete */私有函数del _ setting();/* * *提示信息* @ param string */私有函数通知msg($ msg);}3服务器认证操作该接口定义了用户认证所需的所有操作,包括获取授权、删除授权、检查授权等。,并在AuthDao.php定义。
/* * *认证操作类接口* @ author Summer * @ Date June年6月18日* @ Site http://www.xtwind.com */InterfaceAuthDao {/* * *设置用户访问令牌* @ Return Boolean */Public函数SetAccessToken();/* * * Get user access token * @ return string */public function getaccesstoken();/* * *删除用户access token * @ return boolean */public function delaccesstoken();/* * *确定用户AccessToken是否存在* @ return boolean */public function is login();/* * *获取认证跳转URL * @ return string */public函数getauthurl();/* * *授权到期时间* @ return string */公共函数getauthover();}4服务器微博操作该接口定义了所有与用户微博操作相关的方法,包括发布微博、阅读微博、阅读信息、删除微博等。,这是在WeiboDao.php定义的。
/* * *微博运营类接口* @ author summer * @ date June年6月18日* @ site http://www . xtwind . com */interfacewebodao {/* * *获取用户微博信息列表*@param int获取数量*@param int类型过滤器0: all,1: original,2:pictures * @ return String */public function Get Weibo();/* * *获取用户基本信息* @ return array */public function getuser();/* * *发布微博*@return Array返回微博数据数组*/公共函数webpub ($ content,$ imgur);/* * *删除微博*@return数组返回删除的微博数据数组*/公共函数Wei model($ Weibo ID);/* * *发表评论*@param integer微博ID*@param string评论内容*/公共函数发送评论($ id,$ comment);/* * * Follow a user *@param用户ID或名称*@return返回关注者的信息*/公共函数Follow user($ user);/* * *转发微博添加的信息*@param int微博ID * @ param string */公共函数转发微博($ ID,$ text = null);}5服务器数据提供接口这个接口负责向客户端提供数据以及客户端需要的一些操作。它继承了微博操作界面,在APIDao.php定义。
/* * *外部服务类接口,继承自微博操作接口* @ author Summer * @ Date June年6月18日* @ site http://www . xtwind . com */interface Dao API扩展微博Dao {/* * * Delete user access token * @ Return Boolean */Public Function delaccessstoken();/* * *确定用户AccessToken是否存在* @ return boolean */public function is login();/* * *获取认证跳转URL * @ return string */public函数getauthurl();/* * *授权到期时间* @ return string */公共函数getauthover();}6服务器端回调操作该类封装了与微博开放平台通信获取用户AccessToken后的回调操作。
类回调{/***微博认证类对象*/private $ auth obj;/* * *构造函数*@param AuthDaoImpl微博认证对象*/public function _ _ construct(AuthDaoImpl $ obj);/* * *认证回调操作,保存access token * @ return boolean */public function callback();}7服务器应用程序门户这个门户主要用于分发回调请求和创建RPC实例。
if($ _ GET[ # 39;代码 # 39;]){ $ keys = array( # 39;代码 # 39;= gt$ _ GET[ # 39;代码 # 39;],'redirect _ uri # 39= gtAPP _ CALLBACK);$ back = new Callback(new AuthDaoImpl($ _ GET[ # 39;国家 # 39;],$ keys));if($ back- gt;回调()){ header( # 39;地点: # 39;.$ _ GET[ # 39;国家 # 39;].'/wp-admin/options-general.php?page = Weibo-wall # 39;);}退出;} if($ _ GET[ # 39;用户 # 39;]){ $ Server = new Yar _ Server(new API($ _ GET[ # 39;用户 # 39;]));请尝试{ $ server- gt;handle();}catch(异常$ e){ echo ;感谢您使用微博墙! ;}}7客户端应用程序门户这个门户实例化插件实体类并启用插件。
$ plu = new Plugins(new Dao(get _ bloginfo( # 39;网址 # 39;)));$ plu- gt;run(get _ option( # 39;微博_墙 # 39;),get _ option( # 39;微博_ func # 39));8这是总结的全过程。业务逻辑非常简单,代码也很容易理解。在使用Yar的过程中,发现YAR真的很简单、实用、可并行。不过这里没有体现,可以做一些优化。插件的客户端依赖于Yar框架,是基于C语言开发的扩展。但是如果没有框架的扩展也没关系。我们已经给出了Yar的纯PHP实现,你可以不用关注这个,但是我还是建议你用Yar。
插件在设计的时候只提供了很少的功能,但是有些人需要其他的功能。我们做什么呢我们也考虑到这方面,所以在设计的时候,插件的扩展性很强,但是你要有一些PHP编程的基础知识。
如何扩展他的功能?
1.联系作者,告诉你需要的功能。2.作者开发了相应的数据API。3.你打电话给Dao.class.php当地的API。4.在Plugins.class.php获取数据并执行相应的业务逻辑。
以上是分享一个基于Yar的WordPress微博墙插件的细节。请多关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
- 暂无相关推荐文章
本文由主机参考刊发,转载请注明:分享一个基于Yar的wordpress微博墙插件(WordPress微博) https://zhujicankao.com/84092.html
评论前必须登录!
注册