日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP Web项目总结

發布時間:2024/1/1 php 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP Web项目总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

嚴格上劃分,前段時間做的PHP Web項目PHP Web項目是自己開發的第一個線上服務。第一次和前端同事合作開發,第一次一個人擔任服務端開發,本文是對這次開發的一次總結。

代碼規范

這個是在看到一段遺留代碼才察覺的,其中有一段代碼如下:

// …… $a=isset($_GET["a"])?$_GET["a"]:0; if($a==0){// logic }else{}

看完這個腳本后,我感覺全身都被壓擠著,比自己曾經坐過的十一火車還擠(哈哈)。于是網上搜了下PHP-FIG的代碼規范,發現了PHP中PSR-[0-4]代碼規范。

從C++開發切換到PHP語言后,在代碼規范上容易受到C++編碼規范潛移默化的影響。比如說,自己寫的C++函數結構更加傾向于:

void bar {// logic code }

然而從php psr2編碼規范并不推薦這種編碼方式,推薦使用:

<?php namespace Vendor\Package;class ClassName {public function fooBarBaz($arg1, &$arg2, $arg3 = []){// method body} }

不推薦使用:

<?php namespace Vendor\Package;class ClassName {public function fooBarBaz($arg1, &$arg2, $arg3 = []) {// method body} }

其他點,比如一個PHP文件的分段:命名空間,導入類,類等,自己覺得和C++很類似。

結構設計

自己使用的是公司的一個PHP框架,竊以為目錄比較混亂,例如代碼的index.php和Controller層代碼在兩個不同的目錄。

因開發的接口提供給前段同事調用,MVC只有MC。Controller層負責第一層的處理,包括參數校驗,完成處理后調用Model層類處理具體的邏輯。

對用到的其他服務,自己把它們單獨劃分到最底層的第三方接口,只負責請求及獲取結果。在第三方接口層之上,對獲取結果做邏輯處理,例如:解析返回結果、合并解析后的返回結果。

遇到的問題

代碼發布問題

這個是任何服務端上線需要解決的問題,這個有相當多的解決方案,例如:rsync。一個好的發布系統,我認為至少要支持以下特性:
- 支持測試、回歸以及灰度發布
- 回滾操作(代碼有問題,立即回滾到上一個穩定版本)。

公司的發布系統在第一點上做的不是很好,例如:不支持發布到測試環境。自己在這個發布系統上遇到比較多的坑,花費了很多時間溝通解決問題。

功能測試

自己開始拿php-unit做功能測試,后期才發現方向走錯了。目前使用的工具包括:
- PostMan
- Python Request接口測試
- Chrome前端測試


總結

以上是生活随笔為你收集整理的PHP Web项目总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。