[英]PHP - Frameworks, ORM, Encapsulation
除了編程語言/環境,還有許多開發人員正在使用PHP,ORM中的框架並且仍然遵守DAL / BLL的封裝嗎? 我正在管理一個由幾個開發人員組成的團隊,並且發現大多數框架都要求我進行日常代碼檢查,因為我的開發人員正在使用內置的ORM。
現在,我一直在使用工具自己生成類和CRUD,並為他們提供了編寫其他查詢/函數的區域。 但是,發生的事情是它們通過不對數據許可權進行適當的檢查或允許以表單形式操縱關鍵字段來創建漏洞。
除了建立新的團隊和新的語言外,其他任何建議(我已經看到Python / Ruby框架都有相同的問題)。
丟掉團隊絕不是一種選擇:相反,要改善它!
但是基本上,這是一個必須與開發人員共同解決的問題。 如果向他們宣戰,那么注定會輸(不管開發者的結果如何。)
如果要檢查用戶是否有權訪問屬性,則它是數據訪問層之外的另一層。 但是仍然有一些框架,您可以在其中覆蓋默認的加載功能,並在加載之后/之前插入邏輯。
我曾經使用過的最輕的框架是db.php( http : //dbphp.net,https: //github.com/hazardland/db.php )。 但這是代碼優先對象有理映射器。 您將必須定義類,然后根據您的類創建數據庫\\表。
看一下\\ db \\ table :: load方法。 每個類在數據庫:: tables數組中都有自己的\\ db \\ table處理程序實例。 您可以重寫table :: load或為從\\ db \\ table類派生的表創建單獨的處理程序,然后將它們放置在database :: tables中。
唯一的問題是框架尚未完全記錄下來,但是具有非常輕便的直觀代碼結構和示例。
另一種選擇是自己制作dal框架,一個人最多可能需要3-4個月才能使其完全功能強大。
我可以推薦Nepthali嗎? 它不是ORM,但是該框架旨在強制安全性。 IE將所有變量編碼后輸出到屏幕; 除非明確定義,否則也不要這樣。
它也相當精簡,沒有ORM等,因此您可以將所需的任何ORM插入其中。 實際上,這非常不錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.