第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

PHP 中什么時(shí)候用 component 什么時(shí)候用 Model,特別迷惑

PHP 中什么時(shí)候用 component 什么時(shí)候用 Model,特別迷惑

猛跑小豬 2019-04-10 20:48:42
開始使用yii2,但是被里面的弄得很迷惑,component和model的區(qū)別是什么樣的。以下是一些自己的心得,可能有錯(cuò)誤,請指正:1)發(fā)現(xiàn)yii2一些規(guī)律,在@app/models/*文件有2種類型。比如InfoForm這樣以Form結(jié)尾的文件都是繼承自Model,而Info.php這樣的表名的文件都是繼承自ActiveRecord。但疑問的是在github上看到的一些yii2的程序,里面的全部都寫在一個(gè)Info.php這樣的里面。(不過網(wǎng)絡(luò)上使用yii2開發(fā)的開源程序真的是少得可憐,沒有研究)2)component與model的區(qū)別到底是在哪里?什么情況下該用component什么情況下該用model?貌似繼承自ActiveRecord的Info.php這樣的就只是一個(gè)單獨(dú)的這樣文件:php
查看完整描述

2 回答

?
幕布斯6054654

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊

1、當(dāng)模型本身對應(yīng)數(shù)據(jù)庫中的表,有數(shù)據(jù)庫查詢時(shí)繼承ActiveRecord(例如User),當(dāng)本身不涉及到數(shù)據(jù)庫查詢時(shí),繼承Model(類似LoginForm,它想操作數(shù)據(jù)只需引用User模型中的方法操作就行,本身不需要)。ActiveRecord繼承自Model,擴(kuò)展了數(shù)據(jù)庫操作的功能。
2、Model繼承自Component,擴(kuò)展了規(guī)則,場景,驗(yàn)證等功能,感覺model文件夾下的一般都繼承model和activerecord就行了吧,沒必要繼承component
3、扣除積分的功能,個(gè)人認(rèn)為應(yīng)該寫在積分model中,對于更復(fù)雜的,類似購物流程這個(gè),有人建議再增加一個(gè)service層,來處理用到多個(gè)model的邏輯。
4、5對于組件等只是了解大體原理,沒怎么用過,感覺簡單的增加積分什么的,用事件只需要在積分model中寫入記錄時(shí)綁定用戶model中的修改總積分的事件就可以吧,至于用行為,一般是好多個(gè)類通用時(shí)才會(huì)用到吧。公共的方法類似工具類一般不會(huì)涉及到數(shù)據(jù)庫的操作。
                            
查看完整回答
反對 回復(fù) 2019-04-10
  • 2 回答
  • 0 關(guān)注
  • 360 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號