2011-09-05 72 views
0

是否有任何設計模式或我可以用來創建獨立組件的東西,它封裝了一些功能,包括將腳本標記添加到最終的html輸出中?如何將JavaScript封裝在服務器端語言組件中?

例如,我有一定程度的成功建立一個組件是Modal_Window包,我可以用這樣的方式:

$mw = new Modal_Window($template); // $template is the object in charge of rendering the html template 
$mw->setContent('Click here')->setBoxContent('<img src... />'); 
echo $mw; 

內部,Modal_Window將告訴模板對象添加的護理必要的js庫。

嗯,這是這樣的想法。我想知道的是,如果這是解決這個問題的方法,或者如果有更加標準的方法(或者我不承認這一點)。有沒有一個這樣的已知模式?是否有可能以更分離的方式創建這種組件,以便我可以共享它?因爲它完全依賴於模板對象,並且它檢查js庫不會多次添加的方式(假設我有兩個組件:Modal_Window和Accordion,並且都需要jquery,我不希望它是添加兩次)

回答

1

我建議你有一箇中央模塊管理器(通常這被稱爲你的應用程序或你的框架)。

然後,一個模塊向模塊管理器註冊並通知模塊管理器它具有資產x,y和z,使用該模塊時必須適當包含它們。

有關如何處理,存儲,呈現或通常處理這些資產的更多信息是框架/應用程序特定的。

但是對於包含JavaScript,我會說一個模塊簡單地說明JavaScript依賴關係到模塊管理器。然後,模塊管理器可能會確保依賴性得到滿足,並且依賴項只包含一次。