第一章 Joomla 擴充套件開發 概況

2022-02-23 15:07:35 字數 1946 閱讀 9304

為什麼擴充套件joomla

joomla!不但能夠處理內容文章,而且允許你乾淨地綜合各種複雜的應用。開發者為joomla!開發各種擴充套件,如購物車、論壇、職位發布等。所有這些擴充套件能夠執行在單個資料庫、模板和核心。我們開發出來的擴充套件,介面是完全統一的。

當你正確地開發擴充套件時,你就不用登入資料庫和做其他基本的配置。另外,你也可以分發你自己開發的擴充套件給別人和別人分享,不需要另外的程式設計和資料庫操作。

自定義 vs 擴充套件

joomla!的**是設計成可擴充套件的而不是直接修改它的核心**。當有公升級版本或者有補丁的時候,joomla!會公升級它本身的核心**,而你的擴充套件你不會被覆蓋的。

如何擴充套件joomla

joomla!支援三類擴充套件,每一類都有特殊的用途。

1. 元件

2. 模組

相對元件,乙個頁面可以有很多的模組。模組一般由邊欄的元素或者是內容選單組成,模組顯示元件的內容,它們不是頁面的主要內容。joomla! 也支援不需要程式設計的內容模組。模組後端的控制是有限制的,一般由基本的格式組成。

3. 外掛程式

主題概況

建立工具欄和列表

joomla!的後端提供了一套標準的工具欄按鈕。它們使得介面可以保持一致的風格,所以使用者可以很快地熟悉相應的功能。如果有必要的話,這些按鈕可以修改和新增。和標準的工具欄一樣,資料庫記錄的列表也有統一的顯示風格。這些列表通常會包括編輯單條記錄的鏈結,改變發布狀態的鏈結和提供自動分頁功能。

使用html函式來維護一致的外觀和減少重複的**

在你的擴充套件裡,有各種標準的css類名可以用來格式化內容和html元素。另外,joomla!包含很多函式可以自動生成核取方塊、下拉框和其他通用的元素。

訪問資料庫和管理記錄

joomla!提供了乙個公用的資料庫物件,可以讓每個頁面的請求只適用乙個連線。這個物件提供了一組函式用來查詢資料和返回結果。這些函式是獨立資料庫的,他們被設計成支援乙個資料庫多joomla!。除了乙個公用的資料庫物件,joomla!還提供了標準的資料庫錶類。使用它核心的函式可以建立、讀取、更新和刪除記錄。也可以新增這樣的邏輯,當父記錄被刪除,其他表的子記錄也會被刪除。

安全和獲取請求變數的首選方法

既然joomla!是乙個公開的web 應用,有必要保護他免受攻擊。joomla!提供了只有在框架裡被呼叫的保險的指令碼方法,也不會隨便地執行。除非是未明的指令碼行為,黑客能故意地提交資料來訪問你的資料庫,joomla!提供了阻止這類攻擊的功能。

選單項控制

joomla!的乙個顯著的特性是導航與內容分離。然而,如果乙個元件建立時沒有考慮到這一點,**管理員可能會不能選擇他們的模板和模組。為了利用這給系統,有必要在產生連線時使用既定的選單項id數字。元件的鏈結可以有多個選項,允許在前端顯示不同的選擇而不用手工去構建長長的url。

控制項的邏輯流

當某乙個元件被載入時同乙個檔案被呼叫,但是執行不同的函式。joomla!使用標準的變數來決定每個請求要執行的函式。對於比較小的元件,可以用來從資料庫和其它處理函式直接處理輸出,比較大的元件會使用controller來處理邏輯流,用model來處理資料訪問,用views來控制輸出。這樣的約定使得維護**更加容易和幫助元件以更可靠的方式執行。

通過xml進行引數配置

joomla!不是通過建立單獨的表來處理擴充套件的配置資訊,而是預留了乙個欄位來處理。變數通過擴充套件中的xml檔案定義。xml檔案也提供了預設值和約束這些引數。而且會自動地儲存和返回這些值,而不需要手寫查詢語句。

打包和分發

一旦所有的**都編寫完成,它是很容易打包給其他人使用的。所有檔案的乙個列表會被加入到xml檔案中。任何需要建立資料表的查詢語句也會包含在裡面。所有檔案被壓縮成乙個檔案,然後這個擴充套件就可以被任何基於joomla!的**安裝和使用。

第一章 擴充套件 條件變數

一 什麼是條件變數 與互斥鎖不同,條件變數是用來等待而不是用來上鎖的。條件變數用來自動阻塞乙個執行緒,直到某特殊情況發生為止。通常條件變數和互斥鎖同時使用。條件變數使我們可以睡眠等待某種條件出現。條件變數是利用執行緒間共享的全域性變數進行同步的一種機制,主要包括兩個動作 乙個執行緒等待 條件變數的條...

第一章 擴充套件 條件變數

一 什麼是條件變數 與互斥鎖不同,條件變數是用來等待而不是用來上鎖的。條件變數用來自動阻塞乙個執行緒,直到某特殊情況發生為止。通常條件變數和互斥鎖同時使用。條件變數使我們可以睡眠等待某種條件出現。條件變數是利用執行緒間共享的全域性變數進行同步的一種機制,主要包括兩個動作 乙個執行緒等待 條件變數的條...

python第一章筆記 第一章 基礎

參與除法的兩個數中有乙個數為浮點數,結果也為浮點數 如 1.0 2,1 2.0,1.0 2.0 python print 1.0 2 結果 0.5 print 1 2.0 結果 0.5 print 1.0 2.0 結果 0.5 整數 整數,計算結果的小數部分被截除,只保留整數部分 不會四捨五入 如 ...