亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

typecho插件編寫(xiě)教程4 - 插件點(diǎn)

z2xy / 1261人閱讀

摘要:在老高這兒是一個(gè)概念官方的插件接口及功能列表我們的插件需要執(zhí)行的邏輯在這里,類(lèi)的方法文件路徑,可以看到,接口為我們傳遞了兩個(gè)參數(shù),一個(gè)是發(fā)布的內(nèi)容,另一個(gè)是類(lèi)本身。為什么叫方法老高從中復(fù)制粘貼過(guò)來(lái)的,一直沒(méi)有改名。

終于,在能夠保存配置信息后,我們可以開(kāi)始編寫(xiě)插件的掛載功能了。

首先我們需要知道系統(tǒng)為我們?cè)诟鱾€(gè)關(guān)鍵的環(huán)節(jié)都預(yù)留了插件點(diǎn)給我們,系統(tǒng)運(yùn)行到插件點(diǎn)時(shí),會(huì)檢測(cè)到是否有插件掛在這個(gè)點(diǎn)上,然后執(zhí)行插件的邏輯!

插件的工作就是找到合適的插件點(diǎn),掛上去,然后執(zhí)行自己的邏輯。

  

插件點(diǎn),插件鉤子,插件接口。。。在老高這兒是一個(gè)概念

官方的插件接口及功能列表

我們的插件需要執(zhí)行的邏輯在這里,Widget_Contents_Post_Edit類(lèi)的finishPublish方法

文件路徑var/Widget/Contents/Post/Edit.php:736,可以看到,接口為我們傳遞了兩個(gè)參數(shù),一個(gè)是發(fā)布的內(nèi)容,另一個(gè)是類(lèi)本身。有了類(lèi)本身,我們可以在插件中隨意調(diào)用他的公共方法!

php    // 文章完成發(fā)布插件接口
    $this->pluginHandle()->finishPublish($contents, $this);

還有一個(gè)頁(yè)面發(fā)布接口,下面的代碼會(huì)提到。

如何掛載

代碼如下,有省略。

phpfinishPublish = array("BaiduSubmitTest_Plugin", "send");
        Typecho_Plugin::factory("Widget_Contents_Page_Edit")->finishPublish = array("BaiduSubmitTest_Plugin", "send");
        return "插件安裝成功,請(qǐng)進(jìn)入設(shè)置填寫(xiě)準(zhǔn)入密鑰";
    }
...
...
    public static function render($contents, $class){
        //do something
    }
}

有代碼我們看到,在插件激活時(shí),系統(tǒng)將插件類(lèi)BaiduSubmitTest_Plugin的render方法綁定到finishPublish的接口上!由于finishPublish會(huì)傳遞兩個(gè)參數(shù),所以render方法也要接受兩個(gè)參數(shù)。

此時(shí),只要插件正常啟用,當(dāng)我們發(fā)布完某一篇文章后,系統(tǒng)就會(huì)自動(dòng)調(diào)用BaiduSubmitTest_Plugin:render()方法了。

  

仔細(xì)觀(guān)察源代碼,你會(huì)發(fā)現(xiàn)此接口沒(méi)有返回值,如果有返回值怎么辦?

這個(gè)情況比較復(fù)雜,老高先留個(gè)坑。

  

為什么叫render方法?

老高從hello world中復(fù)制粘貼過(guò)來(lái)的,一直沒(méi)有改名。

接下來(lái)做什么

掛載點(diǎn)搞定了,下一步就是執(zhí)行我們的核心邏輯代碼了。

老高就留到下一篇吧!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/30269.html

相關(guān)文章

  • typecho插件編寫(xiě)教程1 - 從HelloWorld說(shuō)起

    摘要:看起來(lái)很簡(jiǎn)單吧其實(shí)里面還是有不少坑的。激活插件方法如果激活失敗直接拋出異常禁用插件方法如果禁用失敗直接拋出異常獲取插件配置面板配置面板個(gè)人用戶(hù)的配置面板插件實(shí)現(xiàn)方法插件流程插件的基本流程是這樣的。下一節(jié)老高會(huì)更詳細(xì)的說(shuō)明插件類(lèi)的方法。 最近老高正在編寫(xiě)一個(gè)關(guān)于typecho的插件,由于typecho不像wordpress,有那么多的文檔參考,寫(xiě)一個(gè)插件還是遇到了很多的坑,不過(guò)隨著研究的...

    yintaolaowanzi 評(píng)論0 收藏0
  • typecho插件編寫(xiě)教程3 - 保存配置

    摘要:完善信息,使其更接地氣插件安裝成功,請(qǐng)進(jìn)入設(shè)置填寫(xiě)準(zhǔn)入密鑰插件卸載成功如何保存配置準(zhǔn)入密鑰在哪里保存當(dāng)然是數(shù)據(jù)庫(kù)了。 此文原本發(fā)表于我的博客 老高的技術(shù)博客 ,歡迎和老高交流! 上一節(jié)我們制作了一個(gè)裸插件,下面我們開(kāi)始讓我們的插件開(kāi)始工作! 完善方法 兩個(gè)方法 我們實(shí)現(xiàn)activate和deactivate方法 php public static function...

    HmyBmny 評(píng)論0 收藏0
  • typecho插件編寫(xiě)教程5 - 核心代碼

    摘要:此文原本發(fā)表于我的博客老高的技術(shù)博客,歡迎和老高交流之前啰嗦了很多,現(xiàn)在開(kāi)始寫(xiě)核心代碼。至此我們已經(jīng)拿到了文章的永久鏈接,下一步就是給百度服務(wù)器發(fā)送數(shù)據(jù)了本節(jié)完 此文原本發(fā)表于我的博客 老高的技術(shù)博客 ,歡迎和老高交流! 之前啰嗦了很多,現(xiàn)在開(kāi)始寫(xiě)核心代碼。 分析一下,發(fā)布文章的時(shí)候,我們需要的信息就是當(dāng)前文章的URL,我們需要想辦法從$contents、 $class中拿到他。...

    GraphQuery 評(píng)論0 收藏0
  • typecho插件編寫(xiě)教程2 - 新插件

    摘要:百度結(jié)構(gòu)化插件教程版老高以上代碼老高起了個(gè)名字叫裸插件,意思是啥都干不了的插件,每次寫(xiě)插件的時(shí)候老高都會(huì)準(zhǔn)備一個(gè)裸插件。 此文原本發(fā)表于我的博客 老高的技術(shù)博客 ,歡迎和老高交流! 第一節(jié)我們了解了一個(gè)插件的基本構(gòu)成,下面我們需要一個(gè)實(shí)例練習(xí)鞏固。 真趕巧,老高最近正在改版百度sitemap提交插件for typecho,下面和老高一起改版吧! 準(zhǔn)備 不知道大家用過(guò)WP版...

    ccj659 評(píng)論0 收藏0
  • typecho插件編寫(xiě)教程6 - 調(diào)用接口

    摘要:此文原本發(fā)表于我的博客老高的技術(shù)博客,歡迎和老高交流此篇我們開(kāi)始調(diào)用接口,我們?cè)诓寮?lèi)中新定義一個(gè)方法,起名為,在方法中我們通過(guò)系統(tǒng)配置獲取接口調(diào)用地址。 此文原本發(fā)表于我的博客 老高的技術(shù)博客 ,歡迎和老高交流! 此篇我們開(kāi)始調(diào)用接口,我們?cè)诓寮?lèi)中新定義一個(gè)方法,起名為send_post,在方法中我們通過(guò)系統(tǒng)配置獲取接口調(diào)用地址。 百度給的例子中使用了php的CURL,更...

    endless_road 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<