php教程 外掛程式機制在PHP中實現方案

2022-10-06 06:57:10 字數 1087 閱讀 1508

提示:php中外掛程式機制的一種實現方案.

外掛程式,亦即plug-in,是指一類特定的功能模組(通常由第三方開發者實現),它的特點是:當你需要它的時候啟用它,不需要它的時候禁用/刪除它;且無論是啟用還是禁用都不影響系統核心模組的執行,也就是說外掛程式是一種非侵入式的模組化設計,實現了核心程式與外掛程式的鬆散耦合。乙個典型的例子就是wordpress中眾多的第三方外掛程式,比如akimet外掛程式用於對使用者的評論進行spam過濾。

乙個健壯的外掛程式機制,我認www.cppcns.com為必須具備以下特點:

外掛程式的動態監聽和載入(程式設計客棧lookup)

外掛程式的動態觸發

以上兩點的實現均不影響核程式設計客棧心程式的執行

要在程式中實現外掛程式,我們首先應該想到的就是定義不同的鉤子(hooks);「鉤子」是乙個很形象的邏輯概念,你可以認為它是系統預留的外掛程式觸發條件。它的邏輯原理如下:當系統執行到某rjvfehg個鉤子時,會判斷這個鉤子的條件是否滿足;如果滿足,會轉而先去呼叫鉤子所制定的功能,然後返回繼續執行餘下的程式;如果不滿足,跳過即可。這有點像彙編中的「中斷保護」邏輯。

某些鉤子可能是系統事先就設計好的,比如之前我舉的關於評論spam過濾的鉤子,通常它已經由核心系統開發人員設計進了評論的處理邏輯中;另外一類鉤子則可能是由使用者自行定製的(由第三方開發人員制定),通常存在於表現層,比如乙個普通的php表單顯示頁面中。

可能你感覺上面的話比較無聊,讓人昏昏欲睡;但是要看懂下面我寫的**,理解以上的原理是必不可少的。

下面進行php中外掛程式機制的核心實現,整個機制核心分為三大塊:

乙個外掛程式經理類:這是核心之核心。它是乙個應用程式全域性global物件。它主要有三個職責:

負責監聽已程式設計客棧經註冊了的所有外掛程式,並例項化這些外掛程式物件。

負責註冊所有外掛程式。

當鉤子條件滿足時,觸發對應的物件方法。

外掛程式的功能實現:這大多由第三方開發人員完成,但需要遵循一定的規則,這個規則是外掛程式機制所規定的,因外掛程式機制的不同而不同,下面的顯示**你會看到這個規則。

外掛程式的觸發:也就是鉤子的觸發條件。具體來說這是一小段**,放置在你需要外掛程式實現的地方,用於觸發這個鉤子。

本文標題: php教程 外掛程式機制在php中實現方案

本文位址:

php外掛程式機制實現原理

外掛程式,亦即plug in,是指一類特定的功能模組 通常由第三方開發者實現 它的特點 1.隨時安裝 解除安裝 啟用 禁用 2.無論什麼狀態都不影響系統核心模組的執行,3.是一種非侵入式的模組化設計,實現了核心程式與外掛程式的鬆散耦合。乙個健壯的php外掛程式機制,我認為必須具備以下特點 1.外掛程...

php中的鉤子 hook外掛程式機制

對 鉤子 這個概念其實不熟悉,最近看到乙個php框架中用到這種機制來擴充套件專案,所以大概來了解下。hook外掛程式機制的基本思想 在專案 中,你認為要擴充套件 暫時不擴充套件 的地方放置乙個鉤子函式,等需要擴充套件的時候,把需要實現的類和函式掛載到這個鉤子上,就可以實現擴充套件了。思想就是這樣聽起...

jQuery中外掛程式機制

1.jquery.extend object 擴充套件jquery物件本身,主要是用來擴充套件jquery全域性函式 呼叫時直接 函式名 引數 charset utf 8 外掛程式機制title src js jquery 3.3.1.js script extend max function a,...