您好,欢迎访问一九零五行业门户网

mvc - PHP 中什么时候用 component 什么时候用 Model,特别迷惑

开始使用yii2,但是被里面的弄得很迷惑,component 和 model的区别是什么样的。
以下是一些自己的心得,可能有错误,请指正:
1)发现yii2一些规律,在 @app/models/*文件 有2种类型。比如infoform这样以form结尾的文件都是继承自model,而info.php这样的表名的文件都是继承自 activerecord 。但疑问的是在github上看到的一些yii2的程序,里面的全部都写在一个info.php这样的里面。(不过网络上使用yii2开发的开源程序真的是少得可怜,没有研究)
2)component 与 model的区别到底是在哪里?什么情况下该用component 什么情况下该用model?貌似继承自 activerecord 的 info.php 这样的就只是一个单独的这样文件:
php
executenonequery2(update #@__member set scores=scores+'$jfvalue' where mid=' . $mid . ' )) { $rs = $dsql->getone(select `scores` from `#@__member` where `mid`='{$mid}' ); $scoresleft = $rs['scores']; $setarr = array( 'mid' => $mid, //会员id 'jftype' => $jftype, //积分代码 'jftime' => time(), //操作时间 'jfvalue' => $jfvalue, //本次变更积分 'tips' => $tips, //提示内容 'jfleft' => $scoresleft, //剩余的积分 ); $dsql->executenonequery(insert into gk_member_jflog set . mksetsql($setarr)); return $scoresleft; } return false;}

php中什么时候该用 component 什么时候该用 model?特别让人迷惑。。。
回复内容: 开始使用yii2,但是被里面的弄得很迷惑,component 和 model的区别是什么样的。
以下是一些自己的心得,可能有错误,请指正:
1)发现yii2一些规律,在 @app/models/*文件 有2种类型。比如infoform这样以form结尾的文件都是继承自model,而info.php这样的表名的文件都是继承自 activerecord 。但疑问的是在github上看到的一些yii2的程序,里面的全部都写在一个info.php这样的里面。(不过网络上使用yii2开发的开源程序真的是少得可怜,没有研究)
2)component 与 model的区别到底是在哪里?什么情况下该用component 什么情况下该用model?貌似继承自 activerecord 的 info.php 这样的就只是一个单独的这样文件:
php
executenonequery2(update #@__member set scores=scores+'$jfvalue' where mid=' . $mid . ' )) { $rs = $dsql->getone(select `scores` from `#@__member` where `mid`='{$mid}' ); $scoresleft = $rs['scores']; $setarr = array( 'mid' => $mid, //会员id 'jftype' => $jftype, //积分代码 'jftime' => time(), //操作时间 'jfvalue' => $jfvalue, //本次变更积分 'tips' => $tips, //提示内容 'jfleft' => $scoresleft, //剩余的积分 ); $dsql->executenonequery(insert into gk_member_jflog set . mksetsql($setarr)); return $scoresleft; } return false;}

php中什么时候该用 component 什么时候该用 model?特别让人迷惑。。。
真是,一下问这么多问题好难回答。
先说说什么时候继承 model 什么时候继承 activerecord?
当一个表单是操作多个表单的时候,建议你新建一个 from,from 只能继承 model,每个表都要生成 model,model 都继承 activerecord。
component 与 model 的区别到底是在哪里?
我认为他们两个没什么关系啊,component 是组件,model 一般映射一个表单或者一个数据库表。
如果你的积分业务比较多,而又比较复杂你可以写成事件,其他地方调用。
最后安利一下:https://github.com/forecho/awesome-yii2
其它类似信息

推荐信息