yii autoload.php,关于yii的baseyii.php的autoload步骤

关于yii 的baseyii.php的autoload方法

public static function autoload($className)

{

if (isset(static::$classMap[$className])) {

$classFile = static::$classMap[$className];

if ($classFile[0] === '@') {

$classFile = static::getAlias($classFile);

}

} elseif (strpos($className, '\\') !== false) {

$classFile = static::getAlias('@' . str_replace('\\', '/', $className) . '.php', false);

if ($classFile === false || !is_file($classFile)) {

return;

}

} else {

return;

}

include($classFile); //源码 include($classFile);

if (YII_DEBUG && !class_exists($className, false) && !interface_exists($className, false) && !trait_exists($className, false)) {

throw new UnknownClassException("Unable to find '$className' in file: $classFile. Namespace missing?");

}

}

$classFile =static::$classMap[$className]有在yii.php加载了映射表为什么后面用include而不用include_once

// yii.php代码下面的语句读取了一个映射表

Yii::$classMap = include(__DIR__ . '/classes.php');

------解决思路----------------------

因为前面的代码已经判断了是否已经include。所以这里不需要once. 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值