如何將簡單CMS後台管理系統樣本轉換為Java、Php等不同後台語言的版本

來源:互聯網
上載者:User

等下要去坐車,今天就不繼續嘮叨開發過程了,來談一下普遍比較關心的後台語言問題。

學習Ext JS,筆者一直強調學習的中心思路是“介面與資料是分離”。只要好好掌握這個思路,深入瞭解Ext JS的運作過程,就不會為後台語言使用什麼而困擾了。可以說,只要思路明確,要將一個Ext JS項目遷移到不同的後台語言平台,那是輕而易舉事。下面就以本樣本做一個簡單的講述。

如果你放下語言的包袱,堅持把本樣本的文章看完,會有一個感覺,就是用戶端的指令檔和後台語言的結合檔案,只有一個,就是首頁index.cshtml,如果把該檔案裡的指令碼都抽離出來,基本上,Ext JS與開發語言平台就沒任何關係了,把Scripts目錄複寫到任何語言平台項目,都可以直接使用,修改的地方基本就是地址。如果使用Ext.Direct,這個就更徹底了,基本不需要做任何修改,後台語言有對應的方法就行了。如果清楚這一點,就好辦了。

例如,要將本樣本修改為Java版本的,如果Java架構不支援認證的驗證,就把首頁面分割成兩個檔案,一個專門是登入用的,一個是登入後跳轉到的頁面,這種方式估計熟悉Web開發的已經是家常便飯了。

在Ext JS中,主要的資料提交方式有三種:

1.        表單形式提交,該方式雖然也用Ajax方式提交,但是,背景處理與基本的表單提交形式是沒有任何區別的,因而,背景資料處理方式,沒什麼難度,你懂的!不懂?這……好好補補HTML知識吧。這個最好的樣本就是登入視窗的提交,可以嘗試用自己熟悉的語言做一下練習。

2.        Ajax形式提交,這裡的例子就是使用者登入裡的重設密碼了,雖然資料格式不固定,但是提交參數是自己或項目已經定義好的,背景資料處理方式與處理表單提交的資料區別不大。

3.        Store同步資料的提交方式,只要定義好Writer,使用同一種資料提交方式,那麼後台資料處理方式是基本一致的。例如使用者管理裡的添加、編輯和刪除操作,提交的資料都要從data關鍵字裡提取,然後需要通過伺服器端JSON對象的parse方法將提交的資料轉換為JSON數組,再提取出具體的資料對象處理。Java的處理基本可以參照書中1.2.6節的方式進行處理。其它語言則可尋找相應的JSON庫來處理。

在Ext JS中,資料的返回格式也是基本固定的,在樣本中,目前的返回格式是兩種:

1、  表單的錯誤資訊:

{

     success : true 或 false,

     errors : {

            field1 : "錯誤資訊",

            field2 : "錯誤資訊",

            ...

     }

}

2、  其它資料

{

     success : true 或 false,

     total : 資料總數,

     data  : [...],

     Msg   : "錯誤資訊"

}

 

在樣本中,無論是Store的同步操作還是Ajax資料的提交,都使用了第2種資料的返回格式,該格式基本是通用的。

清楚了Ext JS資料提交格式和返回格式,就知道如何提取資料和返回資料。只要按格式正確返回資料,Ext JS就能正常運行,不受任何後台語言的影響。至於在後台,使用什麼語言,什麼資料庫,都沒問題,這些都是開發人員已經掌握的技術,餘下的就是根據格式返回資料。因而,要修改本樣本也不難了。

例如,要顯示使用者資料,無論資料表格是什麼結構,你從資料庫中把資料提取出來後,根據格式2組織好資料返回就行了。你說你不懂怎麼從資料庫提取資料?這……這,我也教不了。

要添加使用者,先根據提交格式把資料提取出來,然後使用自己的資料庫添加資料方式把資料添加到資料庫,根據資料返回格式2,把成功添加或添加失敗的資訊返回用戶端,就是這麼簡單。編輯和刪除的基本步驟也是這樣的。

至於許可權的控制,各種語言都有自己的方式,最簡單的就是在各操作方法頭部進行驗證,如果驗證發現不符合許可權要求,那就根據資料返回格式2返回一個success為false,Msg資訊為“您沒有許可權訪問”的資料就行了。

資料處理方式清楚後,餘下的就是要讓Ext JS各操作的資料提交地址與伺服器中的方法對應上,這個有Web開發基礎的,不會太難。

以上粗略的介紹了將本樣本修改為不同語言的版本的方式,如果有什麼不明白的地方,歡迎給筆者留言,共同探討不同語言的開發方式。如果有興趣將本樣本修改為不同語言版本的,而無從下手的,也歡迎與筆者聯絡,共同把本樣本修改為不同語言版本的樣本,供大家學習。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.