2010-05-08 94 views
4

我在PHP(私人CMS),我想重寫,並添加了一些新的東西的應用程序 - 我希望能夠延長我的應用程序在一個更簡單的方法 - 通過插件插件系統背後的邏輯?

但問題是 - 我不知道如何實現「可插入性」,如何讓系統識別插件並將其注入到應用程序中?

那麼,一個簡單的插件系統的邏輯是什麼?

+1

思考插件的一個有用的方法是作爲分散處理不同格式對同一類型對象的解決方案。當格式轉換爲新版本或新文件格式到達時,圖像查看器將爲jpeg,bmp,gif等提供不同的插件,(重新)編寫插件或安裝插件將更便宜地解決問題。 聽起來像你想要實現的? – 2010-05-08 20:45:38

回答

1

通常插件都會實現一個通用接口。使用這些插件的應用程序會從存儲庫(例如目錄中的庫)加載每個插件,並使用通用接口與它們交談。你可以擴展它,使得插件實現一組通用接口中的一個或多個。

困難包括確定什麼接口定義爲不僅僅是現在有用,而是用於將來的插件。您還需要擔心編寫不好的插件。如果插件引發異常會發生什麼?或者,如果它停止響應。如果你允許執行不佳的插件來關閉你的系統,或者你應該與此隔離。