收破烂的才子 2018-07-10 09:18:41 7743次浏览 2条评论 2 2 0

背景:前一章节了解的框架的基本结构,同时简单的制作案例
目标:简单的掌握YII启动流程,加深对YII框架的了解
实施:总共分为3步
1.启动入口文件分析

//是否是开启debug模式,关闭观察下页面变化
//defined('YII_DEBUG') or define('YII_DEBUG', true);

运行环境模式定义,定义为dev(开发环境),还有test,pro等

defined('YII_ENV') or define('YII_ENV', 'dev');
//注意:上线的时候把yii init环境变量用起来哦
//加载composer的自动加载文件
require(__DIR__ . '/../vendor/autoload.php');
//yii的自动加载文件
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
//加载项目的配置文件
$config = require(__DIR__ . '/../config/web.php');
//启动项目
(new yii\web\Application($config))->run();

主要说明下:为何把yii的加载放到最后而composer放到最前面呢?因为想要吧yii的自动注册第一步加载(spl),堆栈原理哦
2.继续看下Yii.php

//引入父类
require(__DIR__ . '/BaseYii.php');
class Yii extends \yii\BaseYii
{
}
//注册了yII自身的自动加载,如果对参数不懂的,自己看看php基础东西
spl_autoload_register(['Yii', 'autoload'], true, true);
//类映射文件,可以打开看看yii核心基本都是做了映射处理
Yii::$classMap = require(__DIR__ . '/classes.php');
//yii框架最牛逼的东西就是这个玩意了,容器,在java里面就是ioc,翻转控制,有兴趣的可以看下
Yii::$container = new yii\di\Container();

3.然后继续看下Base.php
image.png

这几个方法以后项目用到的最多了,知道有这么个东西就行了,尤其是\Yii::$app,$app你知道哪里来得吧,等等一些知识都是面向对象,非过程哦
到这里,不要往下看了,不然你蒙了,打住!继续回调框架上哦!

觉得很赞
您需要登录后才可以评论。登录 | 立即注册