本文主要參考官方文檔,地址為:http://developer.edusoho.com/plugin/start.html
插件開發的目的,一方面為了更好的擴展,另外一方面為了更好的維護。
關於這方面的例子,如wordpress、vscode等。至於EduSoho的插件開發是否也像wordpress、vscode那樣無縫集成且學習成本並不是特別高,目前剛剛開始寫,不好妄下結論。
創建插件初始目錄結構
app/console plugin:create Example
使用此命令會在plugins目錄下創建名為Example的插件初始目錄結構,目錄結構圖如下:
注冊插件
注冊插件兩種方式:
第一種:
app/console plugin:register Example
第二種:
app/console plugin:register Example --without-database
開發模式下,建議使用–without-database選項。您可在執行此命令之后,使用:bin/phpmig migrate命令來創建數據庫,這樣數據庫的變更就納入了phpmig的管理,方便開發過程中調整數據庫。
插件注冊后,即可在后台->教育雲->ES應用->已購項目中查看,如圖:
卸載插件
當你不需要該插件時,可以卸載它,命令如下(主要作用:卸載插件,刪除數據庫及插件源碼目錄):
app/console plugin:remove Example --with-deleting-database --with-deleting-source
除此之外還有兩種:
app/console plugin:remove Example //卸載插件,默認不刪除數據庫 app/console plugin:remove Example --with-deleting-database //卸載插件並刪除數據庫
補充說明:這個刪除數據庫是指刪除數據庫特定的表中的列信息,而不是等同於刪庫跑路。