曾經對ThinkPHP中Model的find的疑問~胖接口和瘦接口

ThinkPHP框架用了好屢次,從小白開始到現公司都在用...從一開始,我就很納悶的是:sql

`Model::find()` 爲啥不是 `protected` 而是 `public`

由於public意味這能夠在任何地方都調用...因而,項目剛開始的時候 action BO 各類地方都有 find()框架

當有一天我想把 find() 等方法收回的時候,發現各類奇葩的調用方式和各類表關聯都有了,因而我發現要重寫find()方法時要把join,field等方法也寫一次(就是對已經存在的_where進行拆分)...那個叫痛苦...設計

最痛苦的地方莫過於對join的處理,不少新人須要其它表字段的時候就隨手寫了一個join...
不過更氣人的是,我寫了一個`getList方法,居然有人在我這裏面調用join`...而後一晚上間,某個頁面慢到家了code

痛定思考了好幾天以後,發現要麼是個人要求不嚴格,要麼是這個框架已經快不適合咱們了...前一條我作不到是由於我進來的時候和其餘幾個同事是平級的,無法約束... 後面那個想換也來不及了...因而只能開始把join改爲單條sql接口

封裝和接口設計..最大的不是你瘦了什麼,而是放了什麼,由於一旦想收回..痛苦難堪..get

借錢容易,收錢難...io

相關文章
相關標籤/搜索