• 【2018夏季达沃斯】未来就业报告发布:机器将比人更“能干” 哪些职位更“吃香”? 2018-09-19
  • 西安市民:本想买点香菜吃火锅?比较后还是买了些肉 2018-09-19
  • 安吉发布乡村治理标准规范 2018-09-19
  • 华北能源监管局开展电网运行风险管控专项督查 2018-09-18
  • 马来西亚新山依斯干达特区吸资2531亿马币 ——凤凰网房产马来西亚 2018-09-18
  • 繁星戏剧挑战浸没式独角戏 2018-09-18
  • 领导干部自然资源资产离任审计制度试点 让福建省光泽县绿意盎然(图)-地方新闻-时政频道-中工网 2018-09-08
  • 人民日报评留美生数落父母:为亲情拓对话空间 2018-09-07
  • 网友给四川省委书记、省长留言获回复 共计25条 2018-09-07
  • 娱乐城新优惠 2018-09-06
  • 无人售货架现身出租车内 乘客扫码付款随时取走零食 2018-09-06
  • 江西公布拖欠劳动报酬典型案例 最高拖欠近200万元 2018-09-06
  • 做学习宣传贯彻人民领袖思想的排头兵 2018-09-06
  • 华夏幸福荣获2018中国品牌先锋大奖之杰出企业奖 2018-09-05
  • 10大路口因礼让斑马线致堵 济南交警推新规约束行人 ——凤凰网房产济南 2018-09-05
  • Yii(yiiframework)框架(四):入口文件index.php

    栏目: Yii 发布于: 2013-08-17 18:05:49

    Yii入口文件:

    <?php
     
    // change the following paths if necessary
    $yii=dirname(__FILE__).'/../yii/framework/yii.php';
    $config=dirname(__FILE__).'/protected/config/main.php';
     
    // remove the following lines when in production mode
    defined('YII_DEBUG') or define('YII_DEBUG',true);
    // specify how many levels of call stack should be shown in each log message
    defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
     
    require_once($yii);
    Yii::createWebApplication($config)->run();

    1、$yii=dirname(__FILE__).'/../yii/framework/yii.php'; 包含yii框架的引导文件yii.php,其实就是加载yii基础类YiiBase

    2、$config=dirname(__FILE__).'/protected/config/main.php'; 定义运用的配置文件

    3、defined('YII_DEBUG') or define('YII_DEBUG',true); 定义是否开启“调试模式”,默认为开启,建议在生产模式下关闭

    4、defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3); 定义日志记录的级别。

    Yii 提供了一个灵活可扩展的日志功能。记录的日志可以通过日志级别和信息分类进行归类。通过使用级别和分类过滤器,所选的信息还可以进一步路由到不同的目的地,例如一个文件,Email,浏览器窗口等。

    在Yii 中有下列几种日志路由可用:
    CDbLogRoute: 将信息保存到数据库的表中。 
    CEmailLogRoute: 发送信息到指定的 Email 地址。 
    CFileLogRoute: 保存信息到应用程序 runtime 目录中的一个文件中。 
    CWebLogRoute: 将 信息 显示在当前页面的底部。 
    CProfileLogRoute: 在页面的底部显示概述(profiling)信息。

    同时我们也可以在应用的配置文件main.php中对日志记录功能进行设置:

    'log'=>array(
    	'class'=>'CLogRouter',
    	'routes'=>array(
    		array(
    			'class'=>'CFileLogRoute',
    			'levels'=>'error, warning',
    		),
    		// uncomment the following to show log messages on web pages
    		/*
    		array(
    			'class'=>'CWebLogRoute',
    		),
    		*/
    	),
    ),

    5、Yii::createWebApplication($config)->run(); 创建CWebApplication类,CWebApplication是一个前端控制器,管理MVC中的控制器,提供核心组件。实例化是通过父类CApplication的构造函数进行路径别名映射,预初始化,初始化错误和异常handler,注册框架核心组件(CApplication中的coreMessages、db、message、errorHandler、securityManager、statePersister、urlManager、request、format和CWebApplication中的session、assetManager、user、themeManager、authManager、clientScript、widgetFactory),配置文件的配置数组,添加行为(attachBehaviors),初始化预加载的组件(配置文件中配置),最后执行init()预加载CHttpRequest对象。

    再回到index.php,执行前端控制器中的run()。首先执行onBeginReques事件如果有的话,接下来处理请求过程,和其他框架一样,获取路由然后分发路由,通过controller和action映射到指定的控制器文件。

    这里我们通过一张图来了解YII框架的工作流程:
    yii框架工作流程

    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:Yii(yiiframework)框架(四):入口文件index.php
    IT技术书籍推荐:
    Java编程思想(第4版)
    Java编程思想(第4版)
    埃史尔 (作者), 陈昊鹏 (译者)
    《Java编程思想(第4版)》书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Iava’UO系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。 从《Java编程思想(第4版)》一书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对c、c++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。