Magike插件制作之一

编程开发

抛砖引玉之文,仅为即将发布的1.2.0做铺垫。具体的技术文档,请关注wiki的相关章节。在本文中我以如何制作一个显示评论表情插件为例,希望能对大家的开发有所帮助。此文首先假定你有基本的PHP知识,以及面向对象编程的基础。

声明一个插件

为了让系统识别你的插件,你需要声明这个插件。在Magike中,你只需要在./data/plugins下面建立一个插件目录,并在此插件目录下建立一个与目录同名的插件声明文件,并实现相应的方法即可。比如在本例中我们要制作一个表情插件,那么首先在./data/plugins下面建立一个名为emotion的目录,并在此目录下创建名为plugin.emotion.php的文件,这就是我们插件的声明文件,让我们看看在这个文件应该干些什么。

class EmotionPlugin extends MagikePlugin { public function activate() { $this->fastPatch('callback','callback.emotion.php'); $this->fastPatch('template','emotion.tpl'); $this->clearCache(); } public function deactivate() { $this->fastUnPatch('callback','callback.emotion.php'); $this->fastUnPatch('template','emotion.tpl'); $this->clearCache(); } static public function information() { return array( 'name' => '表情插件', 'description' => '在评论中插入表情.', 'version' => '0.0.1', 'author' => 'Joyqi', 'homepage'=> 'http://70.io', ); } } }请注意,在Magike中编程是必须遵循严格的命名规则的,比如此文件名为plugin.emotion.php,那么它类名就必须为EmotionPlugin。类名采用骆驼法则,文件名采用下划线法则来分隔单词。在这个类中我们实现了三个方法,这也是其继承的父类MagikePlugin中声明必须实现的虚函数。这三个方法分别是:

值得注意的是MagikePlugin类继承自MagikeModule类,所以你可以在方法中调用MagikeModule提供的方法,比如通过model实现复杂的数据库操作,等等。当我们实现了这三个方法之后,在后台的插件列表中就可以看到我们的插件了。

已有 12 条评论
  1. 汗 学习php中 只能等别人出插件了
    什么时候出1.2呢 我等着开博...

  2. 好久没来,发现改版都改成这样了

  3. Vichair
    Vichair

    你可开始注意插件了

  4. 你什么时候回去啊

  5. 混蛋70
    混蛋70

    我已经在家里了

  6. wiLdGoose
    wiLdGoose

    70,能上HB暴雪的PP吗?

  7. 混蛋70
    混蛋70

    似乎我回去以后,就没有什么雪了-_-!

  8. Christen
    Christen

    你好,我安装了你开发的语法高亮插件,却不能正常工作,读不到插件中的css和scripts,不知是怎么回事?

  9. 混蛋70
    混蛋70

    你的code后面加了lang没

    这样

  10. Christen
    Christen

    加了,查看源代码,标签已经转化为 ,但是网页的头部并没有读取插件必须的css和js代码,也就是说,{$static_var.syntax_highlighter_header}没有工作,不知问题何在?

  11. Christen
    Christen

    问题解决,我不知是不是你记错了啊,我在code后面加 class="语言名称",竟然可以正常工作!

  12. 混蛋70
    混蛋70

    貌似是我记错了...