手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

typecho 插件开发(三)

首页 > PHP >

在typecho开发插件的时候,很有可能会用到关联插件(即,部分信息需要从其他插件里来读取)因此,在插件激活的时候就得先判断是否关联插件已经启用。

最初我的代码是:

PHP代码
  1. $mailOptions = Typecho_Widget::widget('Widget_Options')->plugin('CommentToMail');  
  2. if(emptyempty($mailOptions)){//这里会出现两个empty,这是编辑器的关系,代码中只有一个  
  3.     throw new Typecho_Plugin_Exception(_t('对不起,数据库备份插件需启用CommentToMail插件。'));  
  4. }  
但是在这样处理的时候,会提示“找不到CommentToMail插件的配置信息”,直接就抛出异常

于是代码改成:

PHP代码
  1. try{  
  2.     $mailOptions = Typecho_Widget::widget('Widget_Options')->plugin('CommentToMail');  
  3. }catch(Exception $e){  
  4.     throw new Typecho_Plugin_Exception(_t('对不起,数据库备份插件需启用CommentToMail插件。'));  
  5. }  

于是这样的出错提示信息就较为友好了。

由于关联了其他插件,因此在处理的时候,还要再判断这个$mailOption是否存在,因此我把它设为了protected static $mailOptions,然后在要处理的页面会判断这个变量是否为empty。如果是后台处理就抛出异常,前台处理则直接return;不作继续




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: typecho, 插件, 技巧

« 上一篇 | 下一篇 »

只显示10条记录相关文章

typecho 插件:内容分页SplitArchivePage (浏览: 35757, 评论: 14)
利用.htaccess绑定域名到子目录 (浏览: 25605, 评论: 2)
typecho 插件开发(一) (浏览: 23658, 评论: 6)
PHP反射API--利用反射技术实现的插件系统架构 (浏览: 22759, 评论: 5)
推荐一款插件:ScribeFire (浏览: 22727, 评论: 4)
国学大师林语堂献宝:英文学习八要诀 (浏览: 22628, 评论: 0)
了解Typecho页面中可以被注入对象的地方 (浏览: 21825, 评论: 4)
typecho 插件:搜索来源关键字高亮 (浏览: 20979, 评论: 3)
EditPlus的一些其他技巧 (浏览: 20853, 评论: 3)
让Editplus自动格式化css和js (浏览: 20676, 评论: 0)

发表评论

评论内容 (必填):