欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Drupal專(zhuān)業(yè)開(kāi)發(fā)指南 第1章 Drupal工作原理(1)

第一章   Drupal是如何工作的

譯者:葛紅儒        Eskalate科技公司

 在這一章,我們?yōu)槟憬o出一個(gè)Drupal的概貌。關(guān)于系統的每一部分如何工作的詳細信息將在以后章節中介紹。在這里,我們將涉及到Drupal運行所用到的技術(shù)堆棧,構成Drupal的各個(gè)文件,和各種不同的概念術(shù)語(yǔ),比如節點(diǎn),鉤子,區塊和主題。

 

      什么是Drupal?

Drupal是用作建設網(wǎng)站的。它是一個(gè)高度模塊化,開(kāi)源的web內容管理框架,它重點(diǎn)建立在合作之上的。它是一個(gè)可擴展的,適應標準的,并努力保持簡(jiǎn)潔代碼和較小腳本的系統。Drupal發(fā)布版中包含基本的核心功能,其他的額外功能可通過(guò)安裝模塊來(lái)獲得。Drupal被設計為可被定制的,但是定制是通過(guò)覆寫(xiě)核心功能或者增加模塊來(lái)完成的,而不是修改核心組件中的代碼。它同樣成功的將內容管理和內容表示兩者分離。

 Drupal可以被用來(lái)建立一個(gè)Internet門(mén)戶(hù);一個(gè)個(gè)人的,部門(mén)的,或者公司的網(wǎng)站;一個(gè)電子商務(wù)站點(diǎn);一個(gè)資源分類(lèi)站點(diǎn);一個(gè)在線(xiàn)報紙;一個(gè)圖庫;一個(gè)內部網(wǎng),這里僅提到了一部分。它甚至可被用來(lái)教授一個(gè)遠程學(xué)習課程。一個(gè)專(zhuān)注于安全方面的小組,通過(guò)對威脅的反應和發(fā)行安全更新來(lái)保證Drupal的安全性。還有一個(gè)繁榮的社區組織,包括用戶(hù),站點(diǎn)管理員,設計者,和web開(kāi)發(fā)者,非常努力的工作著(zhù),以持久的改進(jìn)軟件??蓞⒖?/span>http://drupal.orghttp://groups.drupal.org。

 

技術(shù)堆棧(Technology Stack

Drupal的設計目標是既可以運行在廉價(jià)的Web主機上,也可以適應大量運算的分布式站點(diǎn)。前一目標意味著(zhù)使用最流行的技術(shù),而后者則意味著(zhù)仔細的嚴格的編碼。Drupal的技術(shù)堆棧如圖1-1所示。

 

 

1-1 Drupal的技術(shù)堆棧

 

操作系統位于技術(shù)堆棧的最底層,Drupal可以不用太關(guān)注這一層。在任何支持PHP的操作系統上都可以成功的運行Drupal。

 

Drupal最常用的web服務(wù)器是Apache,當然也可以使用其它的web服務(wù)器(包括微軟的IIS)。由于Drupal和Apache的這種長(cháng)期的友好關(guān)系,所以在Drupal的根目錄自帶了一個(gè).htaccess用來(lái)確保Drupal安裝的安全性(如果你使用的是一個(gè)其它的web服務(wù)器,而不是Apache,你一定要將.htaccess中的規則轉化為你系統可以理解的語(yǔ)句)??梢允褂?/span>Apache的mod_rewrite模塊來(lái)實(shí)現簡(jiǎn)潔(Clean)URLs---將URL中的“?”,“&”以及其它奇怪的符號清除掉,在Drupal中去掉的是“?q=”。這一點(diǎn)特別重要,當從其他的內容管理系統或者靜態(tài)文件中遷移到Drupal上時(shí),依照Tim Berners-Lee(http://www.w3.org/Provider/Style/URI),內容的URL不需要改變,而不改變的URIs則非???。

 

Drupal使用一個(gè)輕量級的數據庫抽象層與堆棧的下一層次(數據庫層)進(jìn)行交互。這一抽象層處理SQL查詢(xún)語(yǔ)句的清潔工作,并使得可以使用不同廠(chǎng)商的數據庫而不用重構你的代碼。在Drupal中最常用的數據庫是MySQL 和 PostgreSQL。

 

Drupal使用的編程語(yǔ)言是PHP。PHP的名聲比較壞,這是因為PHP比較好學(xué),這樣大量的PHP代碼都是由新手編寫(xiě)的。和許多其它的編程語(yǔ)言一樣,PHP也常被濫用或者用于快速實(shí)現的系統中。然而,也可以用PHP來(lái)編寫(xiě)可靠的代碼。所有的Drupal內核代碼都嚴格的遵守了編碼規范(http://drupal.org/nodes/318)。

 

內核(Core)

Drupal的內核有一個(gè)輕量級的框架組成。當你從drupal.org下載Drupal時(shí)就得到了這一內核。它負責提供基本的功能用以支持系統的其它部分。

內核包括當Drupal接到請求時(shí)所要調用的系統引導指令的代碼,一個(gè)Drupal常用函數庫,和提供基本功能的模塊比如用戶(hù)管理、分類(lèi)、和模板,如圖1-2所示。

1-2 Drupal內核的概貌(沒(méi)有展示完所有的核心功能)

后臺管理接口(Administrative Interface)

Drupal的后臺管理接口與站點(diǎn)的其它部分緊密的集成在了一起,而且默認情況下,使用相同的主題。第一個(gè)用戶(hù),也就是用戶(hù)1,是一個(gè)對站點(diǎn)擁有完全權限的超級用戶(hù)。以用戶(hù)1的身份登錄后,你將在你的用戶(hù)區塊(參看“區塊”部分)中看到管理站點(diǎn)的一個(gè)鏈接。點(diǎn)擊這一鏈接,你將進(jìn)入到Drupal的后臺管理接口頁(yè)面。根據用戶(hù)對站點(diǎn)訪(fǎng)問(wèn)權限的不同,每個(gè)用戶(hù)的區塊都會(huì )有一個(gè)不同的鏈接。

模塊(Modules)

Drupal是一個(gè)完全模塊化的框架。功能都包含在模塊中,而模塊可以被啟用或者禁用(一些必須的模塊不能被禁用)。來(lái)向Drupal站點(diǎn)添加特性有3種方式:?jiǎn)⒂靡汛嬖诘哪K(核心模塊),安裝Drupal社區成員編寫(xiě)的模塊(第3方模塊),編寫(xiě)自己的模塊。這樣,就可以根據站點(diǎn)的需要來(lái)添加相應的模塊,需要的功能少,所需的模塊也就少,需要很多功能,就添加多一些的模塊。如圖1-3所示。

1-3 通過(guò)啟用其它的模塊來(lái)添加更多的功能

新添的內容類(lèi)型比如處方、日志、或者文件,新添的行為比如e-mail通知、P2P發(fā)布、和聚合,等等都是通過(guò)模塊實(shí)現的。Drupal使用了反轉控制(inversion of control)設計模式,框架只在合適的時(shí)間調用相應的模塊功能。這些為了模塊完成它們的任務(wù)提供的機會(huì )被稱(chēng)為鉤子。

 

鉤子(Hooks)

可以把鉤子看做Drupal的內部事件。它們也被稱(chēng)為回調函數,這是由于他們是根據函數命名約定來(lái)構建的,而不是注冊一個(gè)事件監聽(tīng)器(listener),它們也不是真的被回調。模塊使用鉤子掛在Drupal的其余部分上。

 

假定一個(gè)用戶(hù)登錄到了你的Drupal站點(diǎn)上。在用戶(hù)登錄時(shí),Drupal調用用戶(hù)鉤子。這意味將調用所有的根據約定——“模塊名”+“鉤子名”——創(chuàng )建的函數都將被調用。例如,評論模塊中的comment_user(),本地化模塊中的locale_user(),節點(diǎn)模塊中的node_user(),還有任何其它具有類(lèi)似名稱(chēng)的函數都將被調用。如果你編寫(xiě)了一個(gè)名為spammy.module的定制模塊,其中包含一個(gè)名為spammy_user()的用來(lái)向用戶(hù)發(fā)送e-mail的函數,那么你的這個(gè)函數也將被調用,倒霉的用戶(hù)每次登錄都將收到一封不請自來(lái)的e-mail。

 

接近Drupal的核心功能的最常用的方式就是在模塊中實(shí)現鉤子。

 

提示 更多關(guān)于Drupal所支持的鉤子的信息,參看在線(xiàn)文檔http://api.drupal.org/api/5,并查看“Drupal的組成部分”(“Components of Drupal,”),接著(zhù)“模塊系統(Drupal鉤子)”(“Module system (Drupal hooks)”)。

 

主題(Themes)

當創(chuàng )建一個(gè)發(fā)送給瀏覽器的web頁(yè)面時(shí),實(shí)際主要考慮兩點(diǎn):聚集合適的數據和為web裝飾這些數據。在Drupal中,主題層負責創(chuàng )建瀏覽器接收到的HTML。Drupal可以使用多種流行的模板方式,比如Smarty,PHP的模板屬性語(yǔ)言(Template Attribute Language for PHP(PHPTAL)),和PHPTemplate。

 

這里需要記住的重點(diǎn)是Drupal提倡將內容和顯示分開(kāi)。

 

Drupal中可以使用多種方式來(lái)為你的網(wǎng)站定制外觀(guān)。最簡(jiǎn)單的方式是使用CSS來(lái)覆蓋Drupal內置的類(lèi)和ID。然而,如果你不想局限于此,并且想定制實(shí)際的HTML輸出時(shí),你將發(fā)現很容易就可以達到你的目的。Drupal的模板文件有標準的HTML和PHP組成。另外,Drupal頁(yè)面的每個(gè)動(dòng)態(tài)部分(比如盒子、列表、或者面包屑痕跡),都可以通過(guò)聲明一個(gè)具有合適名字的函數來(lái)覆蓋掉。接著(zhù),Drupal將使用你聲明的函數。

 

節點(diǎn)(Nodes)

Drupal中的內容類(lèi)型都根源于一個(gè)稱(chēng)為節點(diǎn)的單獨的基本類(lèi)型。無(wú)論它是一篇日志、一個(gè)處方,或者甚至一個(gè)工程任務(wù),它的底層數據結構都是相同的。這一方式背后的優(yōu)勢是它的擴展性。模塊開(kāi)發(fā)者可以為節點(diǎn)添加特性比如級別、評論、文件附件、地理位置信息等等,而不用擔心節點(diǎn)的類(lèi)型,無(wú)管它是日志、處方還是其它。站點(diǎn)管理員可以根據內容類(lèi)型混合和匹配功能;例如在日志而不是在處方上啟用評論,或者僅為工程任務(wù)啟用文件上傳功能。

 

節點(diǎn)還包含了一個(gè)行為屬性基本集,而所有其他的內容類(lèi)型都繼承了這一基本集。任何節點(diǎn)都可以被提升到首頁(yè)、發(fā)布或者未發(fā)布,或者甚至被搜索。而且由于這個(gè)統一的結構,后臺管理接口為節點(diǎn)提供了一個(gè)批量編輯的頁(yè)面。

 

區塊(Blocks)

區塊是在你網(wǎng)站模板的特定位置可以啟用或者禁用的信息。例如,一個(gè)區塊可以展示你站點(diǎn)當前活躍用戶(hù)數。你可能使用一個(gè)區塊來(lái)展示最活躍的用戶(hù),或者即將來(lái)臨的事件列表。區塊一般放置在模板中的左右欄、頁(yè)首、或者頁(yè)尾中。區塊也可以用來(lái)展示特定類(lèi)型的節點(diǎn),一般僅用于首頁(yè),或者由于其它標準才這樣做。

 

區塊常常用于為當前用戶(hù)展示定制的信息。例如,一個(gè)導航區塊僅包含當前用戶(hù)有權訪(fǎng)問(wèn)的鏈接??梢酝ㄟ^(guò)后臺管理接口頁(yè)面對區塊的位置和顯示進(jìn)行管理。

 

發(fā)表于 @ 2008年03月24日 09:14:00|評論(0)|編輯

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
使用開(kāi)源軟件設計、開(kāi)發(fā)和部署協(xié)作型 Web 站點(diǎn),第 11 部分: 使用 Drupal 中...
對一個(gè)Drupal主題的剖析 | zhupou.cn
使用 Similar By References 制作“猜你喜歡”列表
Drupal常用開(kāi)發(fā)工具(二)——Drupal for Firebug
Drupal 常用模塊匯總
XOOPS, Mambo, Drupal - 當前主要CMS系統比較
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久