question2answer論壇框架分析及web開發思考
2015年7月25日 17:31:42 星期六
一個專門做論壇的開源PHP框架, 有後臺, 支援多語種
入口檔案是框架根目錄的index.php
他包含了/qa-include/qa-index.php: 把URL裡的引數重新組裝放到$requestparts陣列裡
qa-index.php 檔案的最後, 包含了 /qa-include/qa-page.php檔案:
1. 檔案最後, 呼叫 qa_get_request_content()函式, 根據上一步獲得的請求陣列, 包含進來相應的php檔案
2. 包含的時候用到了路由, 也是在這個檔案裡定義的; 如果路由沒有匹配到會轉到default.php去找處理程式檔案,
會根據uri的第一個路徑引數迴圈在qa-plugin/下邊找處理檔案xxx/xxx-***.php(abc.com/xxx/yyy/….)
3. 這個函式處理後生成的是一個陣列, 該檔案的最後, 呼叫qa_output_content()函式, 將該陣列轉換成html文件輸出
4. 如果傳遞了 qa=”ajax” 和 qa_operation=”xxx” 兩個引數, 會走qa_ajax.php(他也包含了qa_base.php), 裡邊也有路由陣列, 包含相應的PHP檔案
結論:
跟syfony一樣是個坑比的框架, 沒有專門寫的完整的html頁面的地方: meta, js, css引用是在框架裡引用的, form表單什麼的也是由PHP函式生成的,
TMD, 這不坑死PHP和前端開發了麼
總結: MLGB CAO
======================
吐槽
從技術上說, 不管什麼語言的什麼框架, MVC也好, 非MVC也好, 歸根結底都是檔案的相互包含, 要麼include, require, 要麼import
從大環境來說, MVC的流行, 是因為程式開發越來越專業化, 前端的專心搞前端開發和使用流行的技術, 後端專心搞後端開發和使用流行的技術
而MVC正好適應了形勢, 把後端和前端的戰場分開, 誰也不依賴誰, 可以使雙方完全掌控自己的地盤
—————–
現在程式開發大環境上正處於過渡階段,
例子1. PHP中的smarty, 就是過度階段的產物, 他自己創了一套語法, 可以以類似html標籤的形式去寫後端程式碼, 目標是給前端開發用的, (美其名曰前後端分離)
但實際上都是PHPer在使用. 前端開發者, 不給他們下任務, 誰他麼用啊, PHPer既得熟悉PHP語法, 又得熟悉smarty語法,
何苦呢, PHP本身就是模版語言, 本身就可以巢狀在html裡, 為什麼要用你smarty, 四不像
例子2. angular.js, 他的出現, (可能)會完全釋放了後端開發, 前端開發也有更多的權力了, 伺服器的壓力也變小了
因為, angular.js 接受的是json結果, DOM渲染完全是由js來把控
以前:
伺服器端, PHP/java從mysql裡把資料獲取好, 把html頁面包含進來, 將資料塞進HTML檔案裡該放的地方, 然後返回給Apache/Nginx
然後再返回給瀏覽器渲染
現在angular.js:
伺服器端, PHP/JAVA把資料從資料庫中讀出來, 組裝成json串, 連同html頁面一塊下發給瀏覽器,
而且html只用下發一次, 後續使用者互動時頁面(資料)有改變時, 只用下發json資料就行了
後端開發者不需要(或很少)去操作HTML檔案(判空, for迴圈等等), 把這些操作完全分散到瀏覽器端讓js去執行了,
伺服器的壓力自然就小了, 就像app開發, 後續的操作完全是呼叫服務端介面
SEO:
用了angular.js, 自然會考慮到SEO的問題, 現在百度谷歌都在支援這個技術, 沒必要擔心SEO
因為搜尋引擎也在互相競爭, 也想收錄到比對手更多的更有用的頁面, 所以不要擔心搜尋引擎是收錄問題
說白了, 主要是做好你的網站, 戳到使用者的痛點, 不然你的SEO就有作弊嫌疑,
搜尋引擎每天抓取/收錄大量的頁面, 他也累呀, 而且頁面內容都大差不差, 一旦發現作弊他就永遠不會來了
相關文章
- 用DDD開發開源論壇
- Socket開發框架之框架設計及分析框架
- 中文ORACLE開發工具論壇Oracle
- Jive論壇與Spring框架Spring框架
- 請問這論壇開發有討論群不
- 可以發外鏈的論壇,哪些論壇可以發外鏈?
- 專案實訓——BBS論壇開發(一)
- 提升自己oracle分析能力一些思考及方法論Oracle
- Web開發框架推導Web框架
- node express web開發框架ExpressWeb框架
- Web開發框架趨勢Web框架
- Web開發框架比較Web框架
- 《Go web程式設計》ChitChat論壇GoWeb程式設計
- thinphp開發 仿phpwind v9論壇程式PHP
- jforum論壇二次開發--顯示版主
- 開發框架文件體系化的思考框架
- Web前端開發框架有哪些?Web前端框架
- 快速web開發框架——learun frameworkWeb框架Framework
- web前端開發框架那些事Web前端框架
- Web前端框架與類庫的思考Web前端框架
- Node.js 開源論壇Node.js
- 奇威IT論壇正式開通
- 畢業論文(基於jsp的論壇開發)(含原始檔)JS
- web開發框架技術有哪些?Web框架
- Python web 開發框架 PyramidPythonWeb框架
- 關於RDP協議的分析(一) - Linux論壇 - 計世網論壇 - Powered by Discuz!協議Linux
- 讓論壇迴歸討論!免費開源的輕量級論壇程式推薦
- 論壇發貼統計(筆記)筆記
- 網站論壇:火龍論壇 正式成立網站
- 使用React開發一個學習、做題、刷課、論壇、聊天交流的微信小程式(Taro框架)React微信小程式框架
- 介面需求的分析方法(轉自csai論壇)AI
- ITPUB論壇
- oracle 論壇Oracle
- 開始研究GoldenGate,開闢小論壇Go
- 小程式web開發框架-weweb介紹Web框架
- 10個Web移動開發JavaScript框架Web移動開發JavaScript框架
- 關於jive開發論壇的一些討論-winCVS安裝(整理)
- 開發上雲,化繁為簡 | CIF 論壇精彩看點