摘要:在老高這兒是一個概念官方的插件接口及功能列表我們的插件需要執行的邏輯在這里,類的方法文件路徑,可以看到,接口為我們傳遞了兩個參數,一個是發布的內容,另一個是類本身。為什么叫方法老高從中復制粘貼過來的,一直沒有改名。
終于,在能夠保存配置信息后,我們可以開始編寫插件的掛載功能了。
首先我們需要知道系統為我們在各個關鍵的環節都預留了插件點給我們,系統運行到插件點時,會檢測到是否有插件掛在這個點上,然后執行插件的邏輯!
插件的工作就是找到合適的插件點,掛上去,然后執行自己的邏輯。
插件點,插件鉤子,插件接口。。。在老高這兒是一個概念
官方的插件接口及功能列表
我們的插件需要執行的邏輯在這里,Widget_Contents_Post_Edit類的finishPublish方法
文件路徑var/Widget/Contents/Post/Edit.php:736,可以看到,接口為我們傳遞了兩個參數,一個是發布的內容,另一個是類本身。有了類本身,我們可以在插件中隨意調用他的公共方法!
php // 文章完成發布插件接口 $this->pluginHandle()->finishPublish($contents, $this);
還有一個頁面發布接口,下面的代碼會提到。
如何掛載代碼如下,有省略。
phpfinishPublish = array("BaiduSubmitTest_Plugin", "send"); Typecho_Plugin::factory("Widget_Contents_Page_Edit")->finishPublish = array("BaiduSubmitTest_Plugin", "send"); return "插件安裝成功,請進入設置填寫準入密鑰"; } ... ... public static function render($contents, $class){ //do something } }
有代碼我們看到,在插件激活時,系統將插件類BaiduSubmitTest_Plugin的render方法綁定到finishPublish的接口上!由于finishPublish會傳遞兩個參數,所以render方法也要接受兩個參數。
此時,只要插件正常啟用,當我們發布完某一篇文章后,系統就會自動調用BaiduSubmitTest_Plugin:render()方法了。
仔細觀察源代碼,你會發現此接口沒有返回值,如果有返回值怎么辦?
這個情況比較復雜,老高先留個坑。
為什么叫render方法?
老高從hello world中復制粘貼過來的,一直沒有改名。
接下來做什么掛載點搞定了,下一步就是執行我們的核心邏輯代碼了。
老高就留到下一篇吧!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30269.html
摘要:看起來很簡單吧其實里面還是有不少坑的。激活插件方法如果激活失敗直接拋出異常禁用插件方法如果禁用失敗直接拋出異常獲取插件配置面板配置面板個人用戶的配置面板插件實現方法插件流程插件的基本流程是這樣的。下一節老高會更詳細的說明插件類的方法。 最近老高正在編寫一個關于typecho的插件,由于typecho不像wordpress,有那么多的文檔參考,寫一個插件還是遇到了很多的坑,不過隨著研究的...
摘要:完善信息,使其更接地氣插件安裝成功,請進入設置填寫準入密鑰插件卸載成功如何保存配置準入密鑰在哪里保存當然是數據庫了。 此文原本發表于我的博客 老高的技術博客 ,歡迎和老高交流! 上一節我們制作了一個裸插件,下面我們開始讓我們的插件開始工作! 完善方法 兩個方法 我們實現activate和deactivate方法 php public static function...
摘要:此文原本發表于我的博客老高的技術博客,歡迎和老高交流之前啰嗦了很多,現在開始寫核心代碼。至此我們已經拿到了文章的永久鏈接,下一步就是給百度服務器發送數據了本節完 此文原本發表于我的博客 老高的技術博客 ,歡迎和老高交流! 之前啰嗦了很多,現在開始寫核心代碼。 分析一下,發布文章的時候,我們需要的信息就是當前文章的URL,我們需要想辦法從$contents、 $class中拿到他。...
摘要:百度結構化插件教程版老高以上代碼老高起了個名字叫裸插件,意思是啥都干不了的插件,每次寫插件的時候老高都會準備一個裸插件。 此文原本發表于我的博客 老高的技術博客 ,歡迎和老高交流! 第一節我們了解了一個插件的基本構成,下面我們需要一個實例練習鞏固。 真趕巧,老高最近正在改版百度sitemap提交插件for typecho,下面和老高一起改版吧! 準備 不知道大家用過WP版...
摘要:此文原本發表于我的博客老高的技術博客,歡迎和老高交流此篇我們開始調用接口,我們在插件類中新定義一個方法,起名為,在方法中我們通過系統配置獲取接口調用地址。 此文原本發表于我的博客 老高的技術博客 ,歡迎和老高交流! 此篇我們開始調用接口,我們在插件類中新定義一個方法,起名為send_post,在方法中我們通過系統配置獲取接口調用地址。 百度給的例子中使用了php的CURL,更...
閱讀 3675·2021-11-16 11:41
閱讀 2880·2021-09-23 11:45
閱讀 687·2019-08-30 15:44
閱讀 538·2019-08-30 13:10
閱讀 1961·2019-08-30 12:49
閱讀 3526·2019-08-28 17:51
閱讀 1471·2019-08-26 12:20
閱讀 698·2019-08-23 17:56