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就有作弊嫌疑,
搜尋引擎每天抓取/收錄大量的頁面, 他也累呀, 而且頁面內容都大差不差, 一旦發現作弊他就永遠不會來了
相關文章
- 可以發外鏈的論壇,哪些論壇可以發外鏈?
- Web開發框架推導Web框架
- 開發框架文件體系化的思考框架
- Web前端開發框架有哪些?Web前端框架
- 快速web開發框架——learun frameworkWeb框架Framework
- thinphp開發 仿phpwind v9論壇程式PHP
- 畢業論文(基於jsp的論壇開發)(含原始檔)JS
- web開發框架技術有哪些?Web框架
- 2016亞太智慧城市發展高峰論壇成功召開
- 分分鐘教你Python Web開發框架DjangoPythonWeb框架Django
- web前端培訓:常用的Web前端開發框架有哪些?Web前端框架
- 使用React開發一個學習、做題、刷課、論壇、聊天交流的微信小程式(Taro框架)React微信小程式框架
- UPLTV受邀出席Facebook Audience Network開發者論壇2019並發表演講
- 開發上雲,化繁為簡 | CIF 論壇精彩看點
- web遊戲框架哪家強?國內外精選優質框架分析及注意事項Web遊戲框架
- 三個最火的Python Web開發框架PythonWeb框架
- python中web開發框架Django的學習PythonWeb框架Django
- Go語言開發的Web框架都有哪些?GoWeb框架
- WEB開發框架效能排行與趨勢分析2-三大驚喜變化Web框架
- Discuz!論壇搭建
- 想要搭建個論壇?Guide哥調研了100來個 Java 開源論壇系統,發現這 5 個最好用!GUIIDEJava
- OpenHarmony 開發者論壇正式上線,蓋樓贏驚喜好禮~
- 響應式方案調研及前端開發管理思考前端
- fusionjs uber開源的通用web外掛化開發框架JSWeb框架
- 三大最棒的開源Web開發模板或框架Web框架
- PPT 分享:《10 個 Go Web 開發框架對比》GoWeb框架
- Go Web開發(Gin框架)簡易入門教程GoWeb框架
- Web前端開發最好用的幾個WebGL框架Web前端框架
- 2025年8個熱門Python Web開發框架PythonWeb框架
- go語言web開發框架_Iris框架講解(五)MVC包使用GoWeb框架MVC
- 移動APP開發框架盤點2:Web移動前端框架大全APP框架Web前端
- 南湖HIT論壇|《醫療資料安全風險分析及防範實踐(2023)》正式釋出
- 從跨域引發的Web安全思考?跨域Web
- 【修羅論壇】xiuno論壇新增登錄檔單項流程
- 2017中國綠色資料中心發展論壇即將開幕
- 2022中國信通院安全運營發展論壇成功召開
- 記一次 .NET 某券商論壇系統 卡死分析
- 軟體開發的一些思考及心得體會
- web3.0智慧合約NFT鑄造系統開發平臺詳情分析丨框架Web框架