typecho插件編寫教程(一):Hello World
最近老高正在編寫一個(gè)關(guān)于typecho的插件,由于typecho不像wordpress,有那么多的文檔參考,寫一個(gè)插件還是遇到了很多的坑,不過隨著研究的不斷深入,老高也慢慢上手了,于是總結(jié)出此篇編寫教程分享給大家!
I. 從HelloWorld說起
基本信息
想必想要開發(fā)typecho的你一定閱讀過官方示例插件HelloWorld的源碼吧?
我們先看看usr/plugins/HelloWorld/Plugin.php文件前幾行
if (!defined('__TYPECHO_ROOT_DIR__')) exit;
/**
* Hello World
*
* @package HelloWorld
* @author qining
* @version 1.0.0
* @link http://typecho.org
*/
...
...
這幾行代碼是一個(gè)插件的基本信息,我們由代碼可以得出以下與插件相關(guān)的基本信息
插件說明 ---> Hello World
插件包名 ---> HelloWorld
插件作者 ---> qining
插件版本 ---> 1.0.0
插件鏈接 ---> http://typecho.org
同時(shí)這些信息都會(huì)顯示在插件頁中,如下圖

插件結(jié)構(gòu)
我們繼續(xù)向后面的代碼看,一個(gè)最簡(jiǎn)單的插件結(jié)構(gòu)如下(為了縮短篇幅,老高移除了具體方法的實(shí)現(xiàn))
每個(gè)方法基本都有注釋,老高不再贅述。
看起來很簡(jiǎn)單吧?其實(shí)里面還是有不少坑的。
class HelloWorld_Plugin implements Typecho_Plugin_Interface
{
/**
* 激活插件方法,如果激活失敗,直接拋出異常
*
* @access public
* @return void
* @throws Typecho_Plugin_Exception
*/
public static function activate(){}
/**
* 禁用插件方法,如果禁用失敗,直接拋出異常
*
* @static
* @access public
* @return void
* @throws Typecho_Plugin_Exception
*/
public static function deactivate(){}
/**
* 獲取插件配置面板
*
* @access public
* @param Typecho_Widget_Helper_Form $form 配置面板
* @return void
*/
public static function config(Typecho_Widget_Helper_Form $form){}
/**
* 個(gè)人用戶的配置面板
*
* @access public
* @param Typecho_Widget_Helper_Form $form
* @return void
*/
public static function personalConfig(Typecho_Widget_Helper_Form $form){}
/**
* 插件實(shí)現(xiàn)方法
*
* @access public
* @return void
*/
public static function render(){}
}
插件流程
插件的基本流程是這樣的。
1.當(dāng)我們的插件寫好后會(huì)出現(xiàn)在后臺(tái)
2.點(diǎn)擊啟用按鈕后,會(huì)執(zhí)行對(duì)應(yīng)插件類的activate方法
3.插件與目標(biāo)插件點(diǎn)關(guān)聯(lián),等待觸發(fā)
4.當(dāng)點(diǎn)擊停用的時(shí)候調(diào)用deactivate方法
本節(jié)完。
下一節(jié)老高會(huì)更詳細(xì)的說明插件類的方法。
相關(guān)文章
ThinkPHP進(jìn)程計(jì)數(shù)類Process用法實(shí)例詳解
這篇文章主要介紹了ThinkPHP進(jìn)程計(jì)數(shù)類Process用法,以實(shí)例形式較為詳細(xì)的分析了Process類的定義及進(jìn)程計(jì)數(shù)的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
PHP substr()函數(shù)參數(shù)解釋及用法講解
substr() 函數(shù)返回字符串的一部分。這篇文章給大家介紹了PHP substr()函數(shù)參數(shù)解釋及用法講解,需要的朋友參考下2017-11-11
Zend Framework入門之環(huán)境配置及第一個(gè)Hello World示例(附demo源碼下載)
這篇文章主要介紹了Zend Framework入門之環(huán)境配置及第一個(gè)Hello World示例,詳細(xì)講述了Zend Framework環(huán)境搭建與配置,以及實(shí)現(xiàn)第一個(gè)Hello World程序的方法,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-03-03
php定義數(shù)組和使用示例(php數(shù)組的定義方法)
這篇文章主要介紹了php定義數(shù)組和使用示例(php數(shù)組的定義方法),需要的朋友可以參考下2014-03-03
Yii1.0 不同頁面多個(gè)驗(yàn)證碼的使用實(shí)現(xiàn)
這篇文章主要介紹了Yii1.0 不同頁面多個(gè)驗(yàn)證碼的使用實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
解決Laravel5.2 Auth認(rèn)證退出失效的問題
今天在做登陸認(rèn)證時(shí)遇到了個(gè)問題,以為是我的解決方法,希望對(duì)大家有所幫助吧2019-10-10
Laravel實(shí)現(xiàn)數(shù)據(jù)庫遷移與支持中文的填充
最近在學(xué)習(xí)Laravel數(shù)據(jù)庫方面的內(nèi)容,發(fā)現(xiàn)了一些資料不錯(cuò)整理出來分享給大家,下面這篇文章主要給大家介紹了關(guān)于Laravel實(shí)現(xiàn)數(shù)據(jù)庫遷移與支持中文填充的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-11-11

