首页 > 代码库 > ZendFramework2 源码分析 init_autoloader.php
ZendFramework2 源码分析 init_autoloader.php
1 // Composer autoloading 2 if (file_exists(‘vendor/autoload.php‘)) {
// 加载自动加载器 3 $loader = include ‘vendor/autoload.php‘; 4 } 5 6 if (class_exists(‘Zend\Loader\AutoloaderFactory‘)) {
// 如果已经加载过了直接返回 7 return; 8 } 9 10 $zf2Path = false;11 12 if (is_dir(‘vendor/ZF2/library‘)) {
// 默认的框架路径13 $zf2Path = ‘vendor/ZF2/library‘;14 } elseif (getenv(‘ZF2_PATH‘)) { // Support for ZF2_PATH environment variable or git submodule
// 根据环境配置获取框架路径(大写)15 $zf2Path = getenv(‘ZF2_PATH‘);16 } elseif (get_cfg_var(‘zf2_path‘)) { // Support for zf2_path directive value
// 根据环境配置获取框架路径(小写)17 $zf2Path = get_cfg_var(‘zf2_path‘);18 }19 20 if ($zf2Path) {21 if (isset($loader)) {
// 在定义了自动加载器的情况下自动加载22 $loader->add(‘Zend‘, $zf2Path);23 $loader->add(‘ZendXml‘, $zf2Path);24 } else {
// 引入加载器25 include $zf2Path . ‘/Zend/Loader/AutoloaderFactory.php‘;26 Zend\Loader\AutoloaderFactory::factory(array(27 ‘Zend\Loader\StandardAutoloader‘ => array(28 ‘autoregister_zf‘ => true29 )30 ));31 }32 }33 34 if (!class_exists(‘Zend\Loader\AutoloaderFactory‘)) {
// 加载器加载失败抛出异常35 throw new RuntimeException(‘Unable to load ZF2. Run `php composer.phar install` or define a ZF2_PATH environment variable.‘);36 }
ZendFramework2 源码分析 init_autoloader.php
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。