11

我試圖找出一些事件驅動的CMS的優點和缺點。事件驅動的CMS - 優點和缺點

事件驅動並不少見。你可以在許多腳本語言中看到它,例如涉及客戶端的Actionscript,javascript,jquery。在CMS中,事件及其響應在服務器上發生的情況如何?這種方法可能有哪些優點或缺點,以及人們可能更喜歡哪些其他方法。

P.S.請注意,我僅使用Actionscript,JQ和JS作爲示例。你意識到,當以這種方式談論CMS時,事件和他們的反應都是服務器端的東西。

編輯:我看到很多人說,這是沒有意義的使用事件驅動的,因爲他們不明白它是什麼。已經使用這種方法的CMS系統之一是Drupal,所以請相信我這是一種現有的方式,我不會將想法從我的A中抽出來。它僅僅意味着CMS的「內部」(所有服務器端的東西)是事件驅動的。核心完成它的事情並定義事件。插件可以響應這些事件來添加自己的邏輯。我提到Actionscript作爲一個例子,因爲客戶端是這個概念最爲人所知的地方,但它也可能在服務器端,也許與正常應用程序不相關,因此不像已知的那樣。但對於其他開發人員想要添加自己的插件甚至更改CMS的預置邏輯的CMS等更復雜的內容來說,它是有意義的。

+1

您在這種方法中尋找什麼優勢?當你說CMS時,我假設你是指基於網絡的CMS。無論服務器端軟件如何,您的CMS仍會響應HTTP請求,生成HTML並將其返回給客戶端,對嗎?那麼,在這個過程中,一個事件驅動的CMS如何幫助? – marcvangend 2010-09-14 12:16:06

+0

我冒昧地將您的更新放入報價塊並取消加粗。如果你不喜歡,請隨時回滾。 – 2010-09-15 09:16:46

+0

你會用什麼語言? @Georg,你是多麼的洞察力! :)我覺得有必要問一下,所有給出的例子都是客戶端語言,而且據我所知,沒有任何額外的庫的幫助,PHP不派遣事件。此外,以17k以上的聲譽,你應該能夠自己帶來一些答案,不是嗎?那麼,喬治,你認爲戴夫應該用什麼語言? – PatrickS 2010-09-14 10:47:57

回答

1

究竟你的「事件驅動」是什麼意思?這是否意味着客戶可以觀看內容,並在更新時得到通知?

如果是這樣,比這確實是一個偉大的想法,但實施是一個ambitous經受。明顯的缺點是,有很多事情可能會出錯,而基於請求的模型更簡單,因此更加健壯。

+0

這意味着CMS的「內部」是事件驅動的,就像Drupal一樣。核心定義了事件,插件可以響應它們添加自己的邏輯。 – dave 2010-09-14 17:32:02

6

確定「事件驅動」是正確的術語,這一點?

我想你所談論的是一個插件掛鉤的基礎架構,允許使用插件來當一個事件發生(鉤被觸發)採取行動。

我知道什麼是「事件驅動」是當桌面應用程序商店事件的UI元素,就如JavaScript可以爲HTML元素做。桌面應用程序完全是這樣構建的。這在基於Web的PHP中永遠無法實現,因爲它完全是以請求爲導向的。

無論如何,我明白你的意思了。有些CMS和框架在某種程度上具有這種功能 - 例如Wordpress和Dokuwiki。

另外:

我試圖找出一些有CMS的利弊是事件驅動。

優點是顯而易見的:它變得更容易掛鉤到系統而無需破解核心。編寫真正的插件成爲可能。

一個重要的問題是系統的長期趨勢會變得越來越慢,鉤子越多,插件越多。我見過一個巨大的門戶維護操作 - 刪除幾百個Drupal節點 - 在超高速生產服務器上花費小時,主要是因爲鉤子系統。

+0

+1。插件(鉤子)基礎設施聽起來不錯,不言自明。該wiki對於「事件驅動」很清楚:http://en.wikipedia.org/wiki/Event_driven_programming。並且PHP中沒有主循環:) – back2dos 2010-09-15 08:21:33

+0

我同意,隨着添加越來越多的模塊/插件,Drupal和Wordpress很容易成爲大型慢速大象。我看到有數百個模塊/插件的網站必須使用多個服務器,負載平衡器和前端緩存來擴展,因爲CMS無法跟上少數訪問者的需求。爲網站設計人員添加功能非常簡單,開發人員可以很容易地利用其他模塊(我已經看到很多簡單的drupal模塊和十多個依賴關係,現在想象一下,您可以安裝十幾個這樣的模塊)。 – 2013-10-12 12:52:56