查看完整版本: 關於php撰寫習慣
頁: [1]

sss86523 發表於 2016-7-10 09:46 AM

關於php撰寫習慣

本帖最後由 sss86523 於 2016-7-10 09:46 AM 編輯

各位好,請教大家幾個問題
1.在寫一個中小型的網站時,關於form表單送出通常都是使用AJAX還是用submit直接跳頁post?我覺得使用AJAX寫好像不太好維護,變成很多前端的語法,而且傳送圖片時又會比較麻煩。請問大家在實作上都是採用哪種方式?

2.假設後台有個功能有新增和編輯,其中的input欄位都一樣,那大家習慣把他寫在同一頁並用變數區隔是新增或是修改還是寫成兩個頁面?

3.大家在設計版型時是否使用Bootstrap來設計、或是自己寫?

問題有點蠢,不過我想知道大家的習慣做為觀摩,謝謝!
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

chevylin0802 發表於 2016-7-10 01:07 PM

本帖最後由 chevylin0802 於 2016-7-10 01:13 PM 編輯

像Bootstrap的套件是很多人引用的
它當然有它的優點
就是易於套用
不過取捨上是要看你自己

php的composer裏面有非常多的套件可以給你使用
可是同樣也面臨到另一個問題
每一種套件是分別被不同的工程師維護的
維護版本裏面最常出現的狀況就是不同版本之間的相容性問題
這在某些狀況下會導致你的專案只能進行某種程度的取捨

比如許多使用Laravel 5.1版所開發的模組當你引用時
並沒有跟著升級到Laravel 5.2時
就常常給開發人員造成許多困擾
因為這意味著你需要再進行修改

引用別人的套件的痛苦就是你需要更小心異異的去檢查各個模組的相容性問題
然而如果全部都靠自己寫
則又曠日費時
因此你需要找到一個平衡點
才能讓你的工作既易於維護又不會給自己製造升級版本時所遭遇到的麻煩

總之
套用別人的API在初期的時候會讓你嚐到欲罷不能的甜頭
可是當你發現到別人的API在升級的過程當中不斷的新增修改以及刪除模組裏的物件名稱或函式名稱時
你就開始嚐到痛苦了
這就好比Google也在Android 5.0開始的版本不再支援apache的httpclient物件一樣
許多APP不得不跟著Google另外修改程式來因應這種轉變一樣

不管是寫哪一種程式語言都會面臨到類似的困難與問題
原先熟悉的API不能再使用的時候
那麼就會有人開始哀鴻遍野



...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

hsw1976 發表於 2016-7-16 11:37 AM

1.在寫一個中小型的網站時,關於form表單送出通常都是使用AJAX還是用submit直接跳頁post?

你想問的應該是有無「 Postback」 (對岸稱有無刷新) 的表單提交吧?

我覺得使用AJAX寫好像不太好維護,變成很多前端的語法,

只要整體的程式結構清析,前端語法多寡不影響維護工作的難易。哪些 code 該放哪裡,哪些 code 該做什麼事都一目了然、清清楚楚。

而且傳送圖片時又會比較麻煩。請問大家在實作上都是採用哪種方式?

現在的表單幾乎都是無 postback 提交了吧?


2.假設後台有個功能有新增和編輯,其中的input欄位都一樣,那大家習慣把他寫在同一頁並用變數區隔是新增或是修改還是寫成兩個頁面?

我個人傾向於分成不同頁面
合併成同一頁
講難聽點,只是在耍帥而已

3.大家在設計版型時是否使用Bootstrap來設計、或是自己寫?

蠻懷疑現在是否還有所謂「設計版型」這種事

十幾年前有,我還相信
當時是企業形象網站蓬勃發展的年代
因此「版型設計」非常重要

而到了今天
網站的樣板模組已經很發達
頂多是改寫吧?...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

theloserbm 發表於 2016-7-18 10:30 PM

本帖最後由 theloserbm 於 2016-7-18 10:31 PM 編輯

1.在寫一個中小型的網站時,關於form表單送出通常都是使用AJAX還是用submit直接跳頁post?我覺得使用AJAX寫好像不太好維護,變成很多前端的語法,而且傳送圖片時又會比較麻煩。請問大家在實作上都是採用哪種方式?

現在大部分都跑前端用AJAX, 後端主要負責輸出JSON
這樣子分工比較明確: 有關顯示(presentation)的都交給前端, 而後端負責商業邏輯(business logic)
而事實上現在也慢慢出現了這兩種不同專業的工作
submit直接跳頁在現在真的很少見了, 遇到的話會給人一種很過時的感覺

2.假設後台有個功能有新增和編輯,其中的input欄位都一樣,那大家習慣把他寫在同一頁並用變數區隔是新增或是修改還是寫成兩個頁面?
同一頁. 萬一以後要增加或減少欄位, 或是變動對欄位的檢查等等, 改一個地方就可以, 減少出錯的機會.
DRY - Don't repeat yourself

3.大家在設計版型時是否使用Bootstrap來設計、或是自己寫?
要看看是否有專職的設計師, 和設計出來的有沒有接近bootstrap的風格
原生的http元素實在是太醜了, 所以至少要用一個css theme
可以是bootstrap, 也可以是jquery-ui, 或是Materialize等等


...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

sss86523 發表於 2016-7-21 07:44 PM

謝謝各位的建議,是因為最近公司有請外包寫後台,他的寫法是採用跳頁式且幾乎沒用到ajax,加上維護一個jsp做的系統,也都是這種模式, 所以才有這個疑問。 現在我知道了:)<br><br><br><br><br><div></div>

hsw1976 發表於 2016-7-21 10:48 PM

theloserbm 發表於 2016-7-18 10:30 PM static/image/common/back.gif
現在大部分都跑前端用AJAX, 後端主要負責輸出JSON
這樣子分工比較明確: 有關顯示(presentation)的都交給前 ...

同一頁. 萬一以後要增加或減少欄位, 或是變動對欄位的檢查等等, 改一個地方就可以, 減少出錯的機會.
DRY - Don't repeat yourself


這種「重覆性的工作」,其實很好解決--設法將之自動化

當然,這也是很多程式設計師的盲點

也是程式設計師的價值所在

試想

我們能為終端用戶提供許多解決高重覆性作業的方式

為何就不能也替自己擺平這類高重覆性的工作?...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

alextang1030 發表於 2016-7-22 04:14 PM

說實在,現在滿少在用會跳版的SUBMIT了

另外我自己滿常用別人的API
要我自己重弄一個實在是時間不夠呀。
我覺得是看工作性質比較好
像我是專精服務一家公司的,只要針對自家用的東西就好
那用別人API沒差,因為都只要更新一次呀,而且啥時間更新都是自己說了算(也要看同事喇)

但如果產品是賣別人的,最好還是弄一個自己的吧,那自己比較好掌握客戶在用的版本呀...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>
頁: [1]