最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

typecho插件編寫教程(四):插件掛載

 更新時間:2015年05月28日 15:06:40   投稿:junjie  
這篇文章主要介紹了typecho插件編寫教程(四):插件掛載,本文講解了如何找到插件點并掛載插件的方法,需要的朋友可以參考下

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

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

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

插件點,插件鉤子,插件接口。。。在老高這兒是一個概念

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

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

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

復(fù)制代碼 代碼如下:

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

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

如何掛載

代碼如下,有省略。

復(fù)制代碼 代碼如下:

<?php

class BaiduSubmitTest_Plugin implements Typecho_Plugin_Interface
{

    public static function activate(){
        //掛載發(fā)布文章和頁面的接口
        Typecho_Plugin::factory('Widget_Contents_Post_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');
        Typecho_Plugin::factory('Widget_Contents_Page_Edit')->finishPublish = array('BaiduSubmitTest_Plugin', 'send');
        return '插件安裝成功,請進入設(shè)置填寫準(zhǔn)入密鑰';
    }
...
...
    public static function render($contents, $class){
        //do something
    }
}


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

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

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

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

為什么叫render方法?

老高從hello world中復(fù)制粘貼過來的,一直沒有改名。

接下來做什么

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

老高就留到下一篇吧!

相關(guān)文章

  • ThinkPHP使用smarty模板引擎的方法

    ThinkPHP使用smarty模板引擎的方法

    這篇文章主要介紹了ThinkPHP使用smarty模板引擎的方法,需要的朋友可以參考下
    2014-07-07
  • Laravel框架自定義驗證過程實例分析

    Laravel框架自定義驗證過程實例分析

    這篇文章主要介紹了Laravel框架自定義驗證過程,結(jié)合實例形式分析了Laravel框架自定義驗證的相關(guān)原理、路由、模型等操作技巧,需要的朋友可以參考下
    2019-02-02
  • php之a(chǎn)pp消息推送案例教程

    php之a(chǎn)pp消息推送案例教程

    這篇文章主要介紹了php之a(chǎn)pp消息推送案例教程,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • PHP中常見的錯誤與異常處理總結(jié)大全

    PHP中常見的錯誤與異常處理總結(jié)大全

    任何程序員在開發(fā)時都可能遇到過一些失誤,或其他原因造成錯誤的發(fā)生。當(dāng)然,用戶如果不愿意或不遵循應(yīng)用程序的約束,也會在使用時引起一些錯誤發(fā)生。下面這篇文章主要給大家介紹了關(guān)于PHP中常見的錯誤與異常處理,需要的朋友可以參考下,
    2017-08-08
  • 微信API接口大全

    微信API接口大全

    本文給大家介紹的是個人總結(jié)的一些微信API接口,包括微信支付、微信紅包、微信卡券、微信小店等,十分的全面,有需要的小伙伴可以參考下。
    2015-04-04
  • Symfony控制層深入詳解

    Symfony控制層深入詳解

    這篇文章主要介紹了Symfony控制層,結(jié)合大量實例代碼深入分析了Symfony控制器的常見使用技巧與相關(guān)注意事項,需要的朋友可以參考下
    2016-03-03
  • Codeigniter注冊登錄代碼示例

    Codeigniter注冊登錄代碼示例

    本示例Codeigniter注冊登錄代碼源自一個codeigniter的項目,現(xiàn)分享下,需要的朋友可以參考下
    2014-06-06
  • PHP實現(xiàn)繪制3D扇形統(tǒng)計圖及圖片縮放實例

    PHP實現(xiàn)繪制3D扇形統(tǒng)計圖及圖片縮放實例

    這篇文章主要介紹了PHP實現(xiàn)繪制3D扇形統(tǒng)計圖及圖片縮放實例,本文給出代碼示例,代碼中包含一些說明注釋,需要的朋友可以參考下
    2014-10-10
  • ThinkPHP文件緩存類代碼分享

    ThinkPHP文件緩存類代碼分享

    本文給大家分享的是取自ThinkPHP中的關(guān)于文件緩存類的代碼,非常的實用,效率也非常不錯,這里推薦給大家,有需要的小伙伴參考下。
    2015-04-04
  • thinkPHP5框架設(shè)置404、403等http狀態(tài)頁面的方法

    thinkPHP5框架設(shè)置404、403等http狀態(tài)頁面的方法

    這篇文章主要介紹了thinkPHP5框架設(shè)置404、403等http狀態(tài)頁面的方法,結(jié)合實例形式分析了thinkPHP5框架設(shè)置404頁面的相關(guān)配置、視圖顯示頁面及控制器調(diào)用相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06

最新評論

长兴县| 逊克县| 乌鲁木齐县| 桃江县| 溆浦县| 宜章县| 天台县| 桂东县| 盐亭县| 揭阳市| 景泰县| 策勒县| 札达县| 临江市| 大关县| 民丰县| 滦平县| 镇江市| 方城县| 平遥县| 盘山县| 门头沟区| 英超| 双牌县| 南汇区| 田林县| 保康县| 五台县| 洪湖市| 类乌齐县| 类乌齐县| 宁陕县| 长汀县| 咸阳市| 桐梓县| 秦皇岛市| 横峰县| 周口市| 石渠县| 汉源县| 峨边|