架構設計目標:
還是MVC結構;
架構只包含路由、DB封裝以及驗證類(適合國情的手機號碼、身份證、郵箱驗證等);
幹一件事,只有一種方式;比如很多架構會提供很多種方法來從資料庫取一條記錄,這個架構只有一種方法,比如只有find(Array $where)來取一條資料,沒有其他封裝方法,除非你用底層方法query;
API風格統一,類、方法、變數命名格式統一;
架構基礎類繼承不超過3層,你可以很容易地看懂架構原始碼;
swiftmailer等國外成熟的類庫直接通過composer載入即可使用,其他手動載入的類庫放在library下面;
還有什麼,大家繼續補充。。。
架構目錄結構:
├── composer.json├── composer.lock├── config //設定檔夾│ └── main.php├── controllers //控制層│ └── UserController.php├── library //第三方類庫│ └── weibo├── models│ ├── dao //Data Access Objects層,封裝SQL操作為相應的對象方法│ │ └── User.php│ └── data //業務控制層,封裝商務邏輯,可以調用dao層、data層│ └── User.php├── public //web訪問目錄│ └── index.php├── vendor //composer倉庫目錄└── views //視圖層 └── user └── info.php
回複內容:
架構設計目標:
還是MVC結構;
架構只包含路由、DB封裝以及驗證類(適合國情的手機號碼、身份證、郵箱驗證等);
幹一件事,只有一種方式;比如很多架構會提供很多種方法來從資料庫取一條記錄,這個架構只有一種方法,比如只有find(Array $where)來取一條資料,沒有其他封裝方法,除非你用底層方法query;
API風格統一,類、方法、變數命名格式統一;
架構基礎類繼承不超過3層,你可以很容易地看懂架構原始碼;
swiftmailer等國外成熟的類庫直接通過composer載入即可使用,其他手動載入的類庫放在library下面;
還有什麼,大家繼續補充。。。
架構目錄結構:
├── composer.json├── composer.lock├── config //設定檔夾│ └── main.php├── controllers //控制層│ └── UserController.php├── library //第三方類庫│ └── weibo├── models│ ├── dao //Data Access Objects層,封裝SQL操作為相應的對象方法│ │ └── User.php│ └── data //業務控制層,封裝商務邏輯,可以調用dao層、data層│ └── User.php├── public //web訪問目錄│ └── index.php├── vendor //composer倉庫目錄└── views //視圖層 └── user └── info.php
這個嘛。已經有了,GitHub.com/dangcheng/scene-php
不錯,思路清晰,化繁為簡,很有實施性。
不過 看起來好像一個 CI 的升級版
我最近也在思考一個架構,既然這樣我覺得我可以探討一下,你思考是這樣,但是寫著寫著你就發現可能不止三層了,我用了一段時間的Yii架構,覺得Yii架構套件含的設計模式思想非常的好,開發起來整個邏輯很清晰。
我最近思考的一種方式就是後端只幹後端的事情,純資料處理,不進行渲染,只提供API,前端就只處理前端的事情,渲染完全靠前端JavaScript來做。
我覺得這種應該是App的設計思想。
移動端和pc端的適配怎麼做呢? 如pc端資料可能是10個欄位,但是移動端只需要查3~4個欄位, pc端一個頁面30條資料或者更多,移動端一頁10來條