PHP平常開發小結

參考一些博主的經驗和本身的開發經驗進行總結-持續更新ing。php

功能設計

  1. 功能儘可能模塊化;
  2. 類的設計儘可能單一,函數功能單一;
  3. 須要uml圖(類圖、時序圖、組件圖)、文檔沉澱;

編寫風格

  1. 遵循PSR-1 基礎編碼規範https://laravel-china.org
  2. 遵循PSR-2 編碼風格規範https://laravel-china.org
  3. 註釋!!!
  4. 常量、env代替硬編碼
  5. 路由遵循RestfulApi原則
  6. created_at(INT類型),updated_at(TIMESTAMP ON CURRENT_TIMESTAMP,日期類型,自動更新), deleted_at(default NULL)

代碼分佈

1.MVChtml

  • Model - sql處理,不該當出現業務
  • View -
  • Controller - 處理參數驗證和方法調用(更完全的方式是新建一個請求類,請求類處理驗證和參數過濾,控制類調用請求類)
  • Service - 業務

2.升級版本
http://birjemin.com/wiki/php-ouranlaravel

Laravel一些注意點

主要是參考2,詳情請查看參考2的連接。git

  1. 優先使用 Eloquent 和集合來操做和處理數據。
  2. 使用被社區接受的標準 Laravel 工具
  3. 遵循 Laravel 命名約定
  4. 使用縮寫或可讀性更好的語法(optional、)
  5. 使用 IoC 容器或門面
  6. 不要從直接從 .env 獲取數據(採用config()方法)

需求流程

  1. 需求評審會議
  2. QA出Case,DEV估時、出方案(類圖、時序圖、組件圖)
  3. 評審需求Case會議、需求設計方案會議
  4. 開發
  5. DEV根據Case自測(應該還有一個單元測試)
  6. 交付QA(功能測試)
  7. 驗收
  8. 上線
  9. 覆盤會議

開發流程

  1. 出接口文檔
  2. 開發
  3. 接口自測、單元測試
  4. 聯調
  5. case自測
  6. 交接QA

性能優化

1.數據層面github

  • 使用ssdb
  • 添加索引,讀寫分離,拆表,sql語句優化
  • 添加緩存
  • 預先計算(將結果預先計算好,好比腳本定時計算、實時計算結果)
  • 採用日誌收集技術,異步處理
  • 分頁獲取數據
  • 使用es進行大量數據的聚合運算

2.業務方面sql

  • 異步代替同步
  • 限流
  • 砍需求唄

3.其餘緩存

  • 開啓opcache

和產品PD撕逼的藝術

能動手就別動嘴性能優化

補充

要把產品經理PM拉倒本身的陣營~~~異步

參考

  1. https://psr.phphub.org/
  2. https://github.com/nonfu/laravel-best-practices
  3. http://plantuml.com/
  4. https://www.cnblogs.com/easypass/archive/2010/12/08/1900127.html
相關文章
相關標籤/搜索