typecho插件編寫教程(一):Hello World
最近老高正在編寫一個關(guān)于typecho的插件,由于typecho不像wordpress,有那么多的文檔參考,寫一個插件還是遇到了很多的坑,不過隨著研究的不斷深入,老高也慢慢上手了,于是總結(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
*/
...
...
這幾行代碼是一個插件的基本信息,我們由代碼可以得出以下與插件相關(guān)的基本信息
插件說明 ---> Hello World
插件包名 ---> HelloWorld
插件作者 ---> qining
插件版本 ---> 1.0.0
插件鏈接 ---> http://typecho.org
同時這些信息都會顯示在插件頁中,如下圖
插件結(jié)構(gòu)
我們繼續(xù)向后面的代碼看,一個最簡單的插件結(jié)構(gòu)如下(為了縮短篇幅,老高移除了具體方法的實(shí)現(xià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){}
/**
* 個人用戶的配置面板
*
* @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)我們的插件寫好后會出現(xiàn)在后臺
2.點(diǎn)擊啟用按鈕后,會執(zhí)行對應(yīng)插件類的activate方法
3.插件與目標(biāo)插件點(diǎn)關(guān)聯(lián),等待觸發(fā)
4.當(dāng)點(diǎn)擊停用的時候調(diào)用deactivate方法
本節(jié)完。
下一節(jié)老高會更詳細(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-09PHP substr()函數(shù)參數(shù)解釋及用法講解
substr() 函數(shù)返回字符串的一部分。這篇文章給大家介紹了PHP substr()函數(shù)參數(shù)解釋及用法講解,需要的朋友參考下2017-11-11Zend Framework入門之環(huán)境配置及第一個Hello World示例(附demo源碼下載)
這篇文章主要介紹了Zend Framework入門之環(huán)境配置及第一個Hello World示例,詳細(xì)講述了Zend Framework環(huán)境搭建與配置,以及實(shí)現(xiàn)第一個Hello World程序的方法,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-03-03php定義數(shù)組和使用示例(php數(shù)組的定義方法)
這篇文章主要介紹了php定義數(shù)組和使用示例(php數(shù)組的定義方法),需要的朋友可以參考下2014-03-03Yii1.0 不同頁面多個驗(yàn)證碼的使用實(shí)現(xiàn)
這篇文章主要介紹了Yii1.0 不同頁面多個驗(yàn)證碼的使用實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03解決Laravel5.2 Auth認(rèn)證退出失效的問題
今天在做登陸認(rèn)證時遇到了個問題,以為是我的解決方法,希望對大家有所幫助吧2019-10-10Laravel實(shí)現(xiàn)數(shù)據(jù)庫遷移與支持中文的填充
最近在學(xué)習(xí)Laravel數(shù)據(jù)庫方面的內(nèi)容,發(fā)現(xiàn)了一些資料不錯整理出來分享給大家,下面這篇文章主要給大家介紹了關(guān)于Laravel實(shí)現(xiàn)數(shù)據(jù)庫遷移與支持中文填充的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-11-11