差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

plugins:hello-world [2013/12/24 12:11]
ShingChi [2. 编写代码]
plugins:hello-world [2013/12/29 07:14] (当前版本)
ShingChi [1. 文件结构]
行 4: 行 4:
 ===== 一、基本结构 ===== ===== 一、基本结构 =====
  
-==== 1. 注释 ====+==== 1. 文件结构 ==== 
 + 
 +<code text> 
 +HelloWorld ​ 插件文件夹 
 +     | 
 +     ​|——Plugin.php ​  ​插件核心文件 
 +</​code>​ 
 + 
 +插件文件夹命名与插件名、插件类名保持一致,插件主体代码编写在 **Plugin.php** 中。其中,类名要加上后缀 **_Plugin**,如下: 
 + 
 +<code php>​class HelloWorld_Plugin implements Typecho_Plugin_Interface 
 +{</​code>​ 
 + 
 +关于命名规范、编码风格等,可以查看 **[[http://​docs.typecho.org/​phpcoding]]** 
 + 
 +==== 2. 注释 ====
  
 <code php>/** <code php>/**
行 21: 行 36:
   * @link: 插件作者链接   * @link: 插件作者链接
  
-==== 2. 插件主体 ====+==== 3. 插件主体 ====
  
 <code php>/* 激活插件方法 */ <code php>/* 激活插件方法 */
行 72: 行 87:
 <code php>​array('​HelloWorld_Plugin',​ '​render'​);​ <code php>​array('​HelloWorld_Plugin',​ '​render'​);​
 // 赋值以数组形式出现 // 赋值以数组形式出现
-// HelloWorld_Plugin 插件的类名,一般是名加上“_Plugin”,其中类名还可以用__CLASS__,不过经常是直接把插件类名写上+// HelloWorld_Plugin 插件的类名,一般是件名加上“_Plugin”,其中类名还可以用__CLASS__,不过经常是直接把插件类名写上
 // render 插件实现的方法名,后面插件实现方法的命名要与此一致</​code>​ // render 插件实现的方法名,后面插件实现方法的命名要与此一致</​code>​
  
-该插件注销时没有什么资源需要释放,所以禁用方法就不需要编写了。接下来是编写**配置方法**。登录后台后,欢迎话语因人而已,所以我们需要给个配置表单给用户,由他们自己定制。因此,我们在配置表单里,可以写上一个配置欢迎话语的表单:+该插件注销时没有什么资源需要释放,所以禁用方法就不需要编写了。接下来是编写**配置方法**。登录后台后,欢迎话语因人而已,所以我们需要给个配置表单给用户,由他们自己定制。因此,我们在配置方法里,可以写上一个配置欢迎话语的表单:
  
-<code php>​$name = new Typecho_Widget_Helper_Form_Element_Text('​word',​ NULL, 'Hello World',​ _t('​说点什么'​));​ +<code php>public static function config(Typecho_Widget_Helper_Form $form) 
-$form->​addInput($name);</​code>​+
 +    /** 配置欢迎话语 */ 
 +    ​$name = new Typecho_Widget_Helper_Form_Element_Text('​word',​ NULL, 'Hello World',​ _t('​说点什么'​));​ 
 +    $form->​addInput($name);​ 
 +}</​code>​
  
 表单助手类参数说明: 表单助手类参数说明:
  
-  - word:变量命名+  - word:配置项命名
   - NULL:选项,因为这是个文本输入框,所以是NULL   - NULL:选项,因为这是个文本输入框,所以是NULL
   - Hello World:默认值   - Hello World:默认值
-  - _t('​说点什么'​):表单的 label 标题,它后面还有一个参数是提示语+  - _t('​说点什么'​):表单的 label 标题,它后面还有一个参数是描述
  
 要想了解更多使用,可以查阅 **[[https://​github.com/​typecho/​typecho/​blob/​master/​var/​Typecho/​Widget/​Helper/​Form/​Element.php|/​var/​Typecho/​Widget/​Helper/​Form/​Element.php]]** 要想了解更多使用,可以查阅 **[[https://​github.com/​typecho/​typecho/​blob/​master/​var/​Typecho/​Widget/​Helper/​Form/​Element.php|/​var/​Typecho/​Widget/​Helper/​Form/​Element.php]]**
行 100: 行 119:
 }</​code>​ }</​code>​
  
-接下来,我们要显示已经自定义好的欢迎语,所以逻辑代码里,我们可以这么写:+接下来,我们要显示已经自定义好的欢迎语,所以逻辑代码里,我们可以这么写:
  
 <code php>echo '<​span class="​message success">'​ . Typecho_Widget::​widget('​Widget_Options'​)->​plugin('​HelloWorld'​)->​word . '</​span>';</​code>​ <code php>echo '<​span class="​message success">'​ . Typecho_Widget::​widget('​Widget_Options'​)->​plugin('​HelloWorld'​)->​word . '</​span>';</​code>​
打印/导出