学习yii2.0框架阅读代码(二)

阅读入口文件

<?php

//是否运行在调试模式下,如果已经定义了Yii_DEBUG, 则or后面的语句将不会执行
defined(‘YII_DEBUG‘) or define(‘YII_DEBUG‘, true);

//部署当前环境,dev prod 是安装后默认的两个环境,分别表示开发环境和最终的成品环境。此外还有一个 test 环境,表示测试环境。
defined(‘YII_ENV‘) or define(‘YII_ENV‘, ‘dev‘);

// 注册 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();
时间: 2024-12-26 16:16:58

学习yii2.0框架阅读代码(二)的相关文章

学习yii2.0框架阅读代码(二十)

vendor/yiisoft/yii2/base/Module. php(续) /** * 新建一个控制器实例基于给定的路线. * * 路线应该是相对于这个模块.该方法实现了以下算法 * to resolve the given route: * * 1. If the route is empty, use [[defaultRoute]]; * 2. If the first segment of the route is a valid module ID as declared in [

学习yii2.0框架阅读代码(二十一)

vendor/yiisoft/yii2/base/Module.php(完) /** * 创建一个控制器基于给定控制器ID. * * The controller ID is relative to this module. The controller class * should be namespaced under [[controllerNamespace]]. * * Note that this method does not check [[modules]] or [[cont

学习yii2.0框架阅读代码(十二)

先把Object.Component.Module三个核心搞清楚了在写实例 下面介绍一下Object -- Yii最基础的类,大多数类都继承了该类.常用的12个公共方法,有点类似于ThinkPHP里面的魔术方法. <?php /** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/

学习yii2.0框架阅读代码(四)

阅读 BaseYii Yii的辅助类核心框架 别名相关(续) //用一个真实的路径注册一个别名 public static function setAlias($alias, $path) { if (strncmp($alias, '@', 1)) { // 如果不是以 @ 开头,就将 @ 拼到开头 $alias = '@' . $alias; } // 获取 / 在 $alias 中首次出现的位置 $pos = strpos($alias, '/'); // 如果 / 不存在,$root 就

学习yii2.0框架阅读代码(十七)

vendor/yiisoft/yii2/base/Module. 模块类 每个模块都有一个继承yii\base\Module的模块类,该类文件直接放在模块的yii\base\Module::basePath目录下, 并且能被自动加载.当一个模块被访问,和应用主题实例类似会创建该模块类唯一实例,模块实例用来帮模块内代码共享数据和组件 class Module extends ServiceLocator { /** * @event 在执行ActionEvent方法时触发事件 * 你可以设置[[A

学习yii2.0框架阅读代码(十三)

组件(Component) 组件是 Yii 应用的主要基石.是 yii\base\Component 类或其子类的实例.三个用以区分它和其它类的主要功能有: 属性(Property) 事件(Event) 行为(Behavior) 或单独使用,或彼此配合,这些功能的应用让 Yii 的类变得更加灵活和易用.以小部件 yii\jui\DatePicker 来举例,这是个方便你在 视图 中生成一个交互式日期选择器的 UI 组件: use yii\jui\DatePicker; echo DatePick

学习yii2.0框架阅读代码(三)

阅读 BaseYii Yii的辅助类核心框架 别名相关 <?php namespace yii; //定义命名空间,昨天修改了一天.. use yii\base\InvalidConfigException; use yii\base\InvalidParamException; use yii\base\UnknownClassException; use yii\log\Logger; use yii\di\Container; //获取应用程序开始时间 defined('YII_BEGIN

学习yii2.0框架阅读代码(十一)

vendor/yiisoft/yii2/base/Module. php(续) /** * 该方法解析指定的路线和创建相应的子模块(s),控制器和行动 * This method parses the specified route and creates the corresponding child module(s), controller and action * instances. It then calls [[Controller::runAction()]] to run th

学习yii2.0框架阅读代码(十五)

行为是 yii\base\Behavior 或其子类的实例.行为,也称为mixins,可以无须改变类继承关系即可增强一个已有的 yii\base\Component 类功能.当行为附加到组件后,它将“注入”它的方法和属性到组件,然后可以像访问组件内定义的方法和属性一样访问它们.此外,行为通过组件能响应被触发的事件,从而自定义或调整组件正常执行的代码. <?php namespace yii\base; /** * 行为是所有行为类的基类. * * 一个行为可以用来增强现有的功能组件,无需修改其代