frameworks - 設計一個這樣的PHP架構怎麼樣?

來源:互聯網
上載者:User
架構設計目標:

  1. 還是MVC結構;

  2. 架構只包含路由、DB封裝以及驗證類(適合國情的手機號碼、身份證、郵箱驗證等);

  3. 幹一件事,只有一種方式;比如很多架構會提供很多種方法來從資料庫取一條記錄,這個架構只有一種方法,比如只有find(Array $where)來取一條資料,沒有其他封裝方法,除非你用底層方法query;

  4. API風格統一,類、方法、變數命名格式統一;

  5. 架構基礎類繼承不超過3層,你可以很容易地看懂架構原始碼;

  6. swiftmailer等國外成熟的類庫直接通過composer載入即可使用,其他手動載入的類庫放在library下面;

  7. 還有什麼,大家繼續補充。。。

架構目錄結構:

├── 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

回複內容:

架構設計目標:

  1. 還是MVC結構;

  2. 架構只包含路由、DB封裝以及驗證類(適合國情的手機號碼、身份證、郵箱驗證等);

  3. 幹一件事,只有一種方式;比如很多架構會提供很多種方法來從資料庫取一條記錄,這個架構只有一種方法,比如只有find(Array $where)來取一條資料,沒有其他封裝方法,除非你用底層方法query;

  4. API風格統一,類、方法、變數命名格式統一;

  5. 架構基礎類繼承不超過3層,你可以很容易地看懂架構原始碼;

  6. swiftmailer等國外成熟的類庫直接通過composer載入即可使用,其他手動載入的類庫放在library下面;

  7. 還有什麼,大家繼續補充。。。

架構目錄結構:

├── 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來條

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.