thinkcmf學習和開發經驗總結
本人是某普通本科電腦科學與技術專業準大二的學生,假期意外接手了一個網站開發的專案,但本人當時對於網站開發什麼前後臺,什麼h5、js、php、mysql一無所知,但既然決定了要做,就要努力去做,就要做好,儘可能掌握更多的知識。
一般網站開發在windowsPC端需要安裝wamp(包含了MySQL+PHP+apach) + sublime 。其中wamp就是相對於一個本地伺服器,可以在它的環境裡執行編寫的網站,sublime是一款程式碼神器,軟體很小,但功能很強大,可以安裝各種外掛,讓程式設計效率更高,也可以配置某些IDE直接可以編譯執行。
起初學習PHP就是為了做網站專案,剛開始一直在看書,看了一個多周的PHP入門知識,感覺看這些基礎的東西沒有什麼太大的意思,裡面的程式設計的一些基礎的東西,在C語言裡早已學過類似的,所有掌握起來也比較容易。後來公司給了我一個thinkcmf的開發框架,說開發專案就要用到這個框架,當時本人處於一種完全矇蔽的狀態,這是我學習大一計算機一年來第一次接觸開發框架,我只是知道,這個框架可能已經對於一些底層和常用的東西做了一些封裝,但也不知道他的具體細節。
接到框架的第二天我就開始研究了,接觸了對於自己是完全陌生的事物會令人感到恐慌,因為自己對其一無所知。剛開始我在百度上搜索thinkcmf的內容時,感覺關於thinkcmf的東西很少,完全沒法理解框架,後來在一個網站看到“ThinkCMF是一款基於PHP+MYSQL開發的中文內容管理框架。”,thinphp與它很相似然後我就去搜索thinkphp的東西,才找到自己想要的知識,下載了thinkphp的手冊,強迫自己把手冊看了一遍,逐步瞭解了框架的結構。
thinkcmf是一款中文版開源的MVC網站開發框架,“M”是model,“V”是view,“C”是control的意思,它一種軟體設計典範,用一種業務邏輯、資料、介面顯示分離的方法組織程式碼,將業務邏輯聚集到一個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用於對映傳統的輸入、處理和輸出功能在一個邏輯的圖形化使用者介面的結構中。下面是百度對MVC框架的闡述:
MVC 是一種使用 MVC(Model View Controller 模型-檢視-控制器)設計建立 Web 應用程式的模式:
Model(模型)表示應用程式核心(比如資料庫記錄列表)。
View(檢視)顯示資料(資料庫記錄)。
Controller(控制器)處理輸入(寫入資料庫記錄)。
MVC 模式同時提供了對 HTML、CSS 和 JavaScript 的完全控制。
Model(模型)是應用程式中用於處理應用程式資料邏輯的部分。
通常模型物件負責在資料庫中存取資料。
View(檢視)是應用程式中處理資料顯示的部分。
通常檢視是依據模型資料建立的。
Controller(控制器)是應用程式中處理使用者互動的部分。
通常控制器負責從檢視讀取資料,控制使用者輸入,並向模型傳送資料。
MVC 分層有助於管理複雜的應用程式,因為可以在一個時間內專門關注一個方面。例如,可以在不依賴業務邏輯的情況下專注於檢視設計。同時也讓應用程式的測試更加容易。
MVC 分層同時也簡化了分組開發。不同的開發人員可同時開發檢視、控制器邏輯和業務邏輯。
thinkcmf框架是分前後臺和前後端的,前臺和後臺分別指使用者操作介面和管理員操作介面,前端和後端分別指html5頁面和controller控制端,一般剛開始編寫測試實現功能的時候大多直接把它放在後臺除錯編寫,它有一個統一的入口,登入就可以進入主介面了介面大致是這樣的:
thinkcmf中有很多封裝好的函式庫和類庫,特別是操作資料庫是特別簡單。一般的網站專案需要的演算法很少,主要是對於一些資料的操作比較多,而thinkcmf給出的操作函式都特別好用。比如說資料不需要每次用的時候都寫一系列的資料庫配置資訊,只需要提前在data資料夾下的db檔案中把資料庫配置好就可以了。對於資料庫的操作主要是增刪改查,它給提供了add、delete、save、select等幾個函式,不需要刻意去記,用的時候很容易想起了,比起用原始的SQL語句好用的多。
thinkcmf需要一個模組裡有控制端和檢視端,對於跳轉和方法呼叫,主要用到了U方法,可以避免因為路徑原因導致的專案癱瘓。
thinkcmf中還包含了bootstrap前端框架,可以直接呼叫其樣式,特別好用,具體檢視使用文件就可以了。
一個專案現在已經做完了,現在看來,本專案並不難,主要用到thincmf框架,提高了工作的效率,已於掌握和學習。整個專案主要用到了資料庫的語句,頁面的傳值,已經頁面的跳轉,頁面的內容的顯示,controller端與view的協調。用到bootstrap節約了大量的學習成本,js我基本沒學,但查閱手冊就可以輕鬆的利用它已經寫好的東西,可能以後要繼續加強學習。總體來說一個暑假在、大致掌握了MVC開發結構和開發流程,網站開發也基本完成,已經達到了預期的目標。總體來說收穫頗豐,日後繼續努力,進一步研究深入學習,學好英語,多掌握一些知識,讓自己變得更強。