Yii2自动加载

index.php中,new yii\web\Application($config)->run()

class yii\web\Application extends \yii\base\Application
在\yii\base\Application构造方法中,Yii:: app=this.static::setInstance( this);

static:如果在子类中重写了父类中的static方法、属性,父类就会去访问了子类的static方法;
如调用父类方法,但是重写了父类属性,那么即使是在父类方法中,也访问的是子类属性。

self: 是类内指针,不管子类有没有重写过父类中的方法、属性都指向本类的静态方法、属性

服务定位者ServiceLocator在yii\di中

在Application中,public function getSession(){
    $this->get'session');

在ClassLoader.php中

public function register($prepend=false){
    spl_autoload_register(array($this,'loadClass',true,$prepend));
}

yii2中class Model

yii\base\Model extends Component实现ArrayAccess,Arrayable,ItertorAggregate

Yii中的自动加载

BaseYii.php

public static function autoload($className){
    $classmap....
}

在 yiisoft/yii2/classes.map中,维持着命名空间与文件的对应关系
如果是@那么就可能设置了别名。
要不是\分割的
在入口脚本中,除了Yii自己的autoloader,还有一个第三方的autoloader:

require(DIR . ‘/../../vendor/autoload.php’);
这个其实是Composer提供的autoloader。Yii使用Composer来作为包依赖管理器,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值