为什么Yii2 框架要在控制器里面 init方法取代 我来答 2个回答 #热议# 为什么说不要把裤子提到肚脐眼? 就烦条0o 2016-08-09 · 知道合伙人软件行家 就烦条0o 知道合伙人软件行家 采纳数:33315 获赞数:46492 从事多年系统运维,喜欢编写各种小程序和脚本。 向TA提问 私信TA 关注 展开全部 因为控制器的基类需要__constuct()方法做一些初始化的工作(比如初始化模板引擎),如果你在控制器里实现了__construct,你还需要在__construct里调用parent::__construct()就太麻烦了。所以通常会在基类里定义一个空的init方法,并且在__construct里(通常是末尾)调用$this->init(),这样开发的时候就只需要实现init方法 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 奔跑的窝牛的家 高粉答主 2016-08-09 · 每个回答都超有意思的 知道顶级答主 回答量:3.6万 采纳率:98% 帮助的人:4539万 我也去答题访问个人页 关注 展开全部 在最顶层的Object类的构造函数可以看到$this->init();所以实例化类(只要继承Object或其子类),一般都会执行init这个方法,除非覆盖了构造函数,而且没执行父类的构造函数(不过这种情况,yii框架好像是没法正常工作的)。注:这是Yii2框架里的,yii1.x版本的应该差不多,可以看下源代码 本回答被提问者采纳 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询 其他类似问题 2017-10-15 yii类中的init方法是不是自动调用的 2 2017-09-25 为什么Yii2 框架要在控制器里面 init方法取代 2017-10-29 为什么Yii2 框架要在控制器里面 init方法取代 2017-11-06 为什么Yii2 框架要在控制器里面 init方法取代 2017-01-12 为什么Yii2 框架要在控制器里面 init方法取代 2017-11-15 为什么Yii2 框架要在控制器里面 init方法取代 2017-09-30 为什么Yii2 框架要在控制器里面 init方法取代 2016-09-27 yii2.0为什么获取控制器和方法名报错 3 更多类似问题 > 为你推荐: