2015-03-27 15:44:31 3313次浏览 3条回答 0 悬赏 0 金钱

想封装一下Controller,把一些类集中声明,于是这样写

use Yii;
use yii\web\Controller;
class MyController extends Controller

但是在继承MyController的子类中Yii还是不能直接用
必须用\Yii::$app才通过,如果把use Yii;写到子类中,Yii::$app就可以
想问一下,use到底是个什么机制,这个不能通过继承过度给子类吗?

  • 回答于 2015-03-28 14:19 举报

    貌似不行啊。。。。。

  • 回答于 2015-03-29 21:48 举报

    从道理上说,继承只是继承了某个类,而use是在类外写的引入信息,与类是否被继承没有任何关系。

    1 条回复
    回复于 2015-03-30 09:48 回复

    了解了,谢谢,那有什么方法可以封装到一个父类里面么?因为除了Yii之外,还有些其他的可能需要引入

  • 回答于 2015-03-29 21:48 举报

    这与YII无关,PHP的基础知识。

    1 条回复
    回复于 2015-03-30 09:49 回复

    好吧,我记得在yii1时代这些东西是可以直接用的,是不是因为yii2加了名称空间以后就必须用现在这种形式了

您需要登录后才可以回答。登录 | 立即注册
tocou2006
试用期

tocou2006

注册时间:2015-03-27
最后登录:2015-04-03
在线时长:4小时2分
  • 粉丝0
  • 金钱0
  • 威望0
  • 积分40

热门问题