模型中去调用控制器中的某一个方法怎么调 [ 2.0 版本 ]
模型中去调用控制器中的某一个方法怎么调
Mr_Zhu 补充于 2017-05-22 14:06
就是模型验证通过了,我想调用发短信的接口发短信啊!!!
最佳答案
-
先解答你的问题:
\controllers\MyController.phpnamespace app\controllers; class MyController extends Controller{ public static function fun1{ echo "fun1"; } public function fun2{ echo "fun2"; } }
\models\MyModle.php
class MyModel extends \yii\base\Model{ public function modelfun{ //调用控制器中的静态方法fun1() \app\controllers\MyController::fun1(); //调用控制器中的实例方法fun2():先实例化,再调用其方法,不过一般没人这么干! $control=new \app\controllers\MyController(); $control->fun2(); } }
建议:你把发短信的方法移到模型中即可直接调用,一般不会在控制器中去写业务逻辑的!
共 1 条回复
其他 6 个回答
-
-
模型是类吧,控制器是类吧,控制怎么调模型,模型就怎么调控制器,还有就是你这设计百分百是存在问题的
共 2 条回复admin_admin 回复于 2017-05-22 09:51 回复我觉得200%
dashixiong 回复于 2017-05-22 11:01 回复@admin_admin 我觉得是1000%的漏洞
-
admin_admin 回答于 2017-05-22 09:51 举报
我觉得200%
-
我觉得,你你这个问题可以把你的需求也描述一下,为什么要在模型里调用控制器?是不是把需求分析的太片面化了。你再问问题的时候,同时把你要这么做的最终得到的目的也描述出来,这里很多大牛就会告诉你怎么在模型里调用控制器,同时还会解答你这个需求为什么在模型里调用控制器不是好的做法,用某某其他方法可以更好解决。
经常看到你提问:你可以先看下这篇文章 提问的智慧:http://www.yiichina.com/topic/5845
-
-
Mr_Zhu
注册时间:2017-01-16
最后登录:2017-08-04
在线时长:13小时12分
最后登录:2017-08-04
在线时长:13小时12分
- 粉丝1
- 金钱295
- 威望0
- 积分425