抛砖引玉之文,仅为即将发布的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中声明必须实现的虚函数。这三个方法分别是:
- activate,用于激活此插件。
- deactivate,用于禁用此插件。
- information,必须声明为静态方法,用于获取插件信息。
值得注意的是MagikePlugin类继承自MagikeModule类,所以你可以在方法中调用MagikeModule提供的方法,比如通过model实现复杂的数据库操作,等等。当我们实现了这三个方法之后,在后台的插件列表中就可以看到我们的插件了。
汗 学习php中 只能等别人出插件了
什么时候出1.2呢 我等着开博...
好久没来,发现改版都改成这样了
你可开始注意插件了
你什么时候回去啊
我已经在家里了
70,能上HB暴雪的PP吗?
似乎我回去以后,就没有什么雪了-_-!
你好,我安装了你开发的语法高亮插件,却不能正常工作,读不到插件中的css和scripts,不知是怎么回事?
你的code后面加了lang没
这样
加了,查看源代码,标签已经转化为 ,但是网页的头部并没有读取插件必须的css和js代码,也就是说,{$static_var.syntax_highlighter_header}没有工作,不知问题何在?
问题解决,我不知是不是你记错了啊,我在code后面加 class="语言名称",竟然可以正常工作!
貌似是我记错了...