`
zccst
  • 浏览: 3310506 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

yii框架的执行过程

    博客分类:
  • YII
 
阅读更多
作者:zccst


二、controllers里的$this和models里的$this含义是不一样的。
在controllers里,可以$this->current_user,因为current_user已经在Controller.php里定义。
而在models里,$this是AR类。


一、分析一个具体的yii执行过程
#11 ../protected/controllers/OutsourceController.php(206): OutsourceController->doAction('suspend')
#12 ../Yii-1.1/framework/web/actions/CInlineAction.php(32): OutsourceController->actionSuspend()
#13 ../Yii-1.1/framework/web/CController.php(300): CInlineAction->run()
#14 ../Yii-1.1/framework/web/filters/CFilterChain.php(129): CController->runAction(Object(CInlineAction))  //运行Action
#15 ../protected/components/Controller.php(83): CFilterChain->run()
#16 ../Yii-1.1/framework/web/filters/CInlineFilter.php(59): Controller->filterAccessAuth(Object(CFilterChain))//自定义Controller
#17 ../Yii-1.1/framework/web/filters/CFilterChain.php(126): CInlineFilter->filter(Object(CFilterChain))
#18 ../Yii-1.1/framework/web/CController.php(283): CFilterChain->run()
#19 ../Yii-1.1/framework/web/CController.php(257): CController->runActionWithFilters(Object(CInlineAction), Array)
/*-------------------------------------------------------------------------
在CController.php的run('suspend')方法中,执行了
if($parent->beforeControllerAction($this,$action))
{
$this->runActionWithFilters($action,$this->filters());//带过滤的运行action。也即运行controller的时候还没加入过滤。
$parent->afterControllerAction($this,$action);
}
在runActionWithFilters方法中又执行了CFilterChain::create($this,$action,$filters)->run();
该方法先create,再run,在run方法中又执行了$filter->filter($this); 在filter方法中
$method='filter'.$this->name;
$filterChain->controller->$method($filterChain);
----------------------------------------------------------------------------*/
#20 ../Yii-1.1/framework/web/CWebApplication.php(320): CController->run('suspend')                   
#21 ../Yii-1.1/framework/web/CWebApplication.php(120): CWebApplication->runController('outsource/suspend') //运行Controller
#22 ../Yii-1.1/framework/base/CApplication.php(135): CWebApplication->processRequest()
#23 /url/index.php(28): CApplication->run()
分享到:
评论

相关推荐

    Yii框架执行流程及部分源码分析

    让我们深入了解一下Yii框架的执行流程及其部分源码分析。 1. **程序结构及配置** Yii的项目结构通常包含以下关键部分: - `protected`:存放应用的核心代码,如模型、控制器、配置文件等。 - `runtime`:运行时...

    Yii框架学习笔记.pdf

    1. **命令运行流程**:Yii框架中的控制台应用主要用于执行命令行任务。开发者可以通过创建命令行脚本来实现复杂的后台处理逻辑。 2. **自定义命令**:Yii框架允许开发者定义自己的控制台命令。这为执行定制任务提供...

    php YII框架数据库备份模块

    在数据库管理方面,Yii框架提供了丰富的功能,其中包括数据库备份模块。这个模块使得开发人员能够方便地对数据库进行备份,以防止数据丢失或在进行重大更新前确保数据安全。 首先,我们来了解Yii框架中的数据库连接...

    Yii 框架反序列化 RCE 利用链 2(官方无补丁)1

    在描述中提到的漏洞涉及到反序列化 Remote Code Execution (RCE),这是一个严重安全问题,允许攻击者通过反序列化过程执行任意代码。在这个特定的利用链中,攻击者可以通过精心构造的输入来触发一系列的类方法调用,...

    yii框架笔记,绝对值得经典

    ### Yii框架概述与特点 #### 一、框架简介 Yii框架是一款开源的PHP Web应用程序开发框架,采用MVC(Model-View-Controller)架构模式,以其高性能和代码重用性著称。Yii由美国华人Qiang Xue创建,并于2008年首次...

    YII框架应用

    ### YII框架应用详解 #### 一、简介 YII框架是一种高性能的PHP框架,它遵循MVC(Model-View-Controller)设计模式。YII框架以其轻量级、高效性和易于开发的特点受到广大开发者的青睐。本文档将详细介绍如何在本地...

    Yii框架调试辅助扩展

    "Yii框架调试辅助扩展yiidebugtb"是针对Yii框架的一个专门用于调试的应用扩展,它极大地便利了开发者在开发过程中对代码性能、数据库查询、会话状态等关键信息的监控。 该扩展的核心功能包括: 1. **性能监控**:...

    yii框架的debug调试工具

    Yii框架的Debug调试工具是开发过程中非常实用的一个组件,它为开发者提供了详细的性能分析和错误追踪功能。在PHP编程环境中,Yii框架以其高效、灵活和易于扩展的特点深受开发者喜爱。而Yii Debug Toolbar则是该框架...

    yii框架资源上出纳

    总结来说,Yii框架是一个强大的PHP开发工具,无论是在早期的1.1版本还是更新的2.x版本,都提供了丰富的特性和工具来简化Web开发过程。从MVC架构到数据库操作,再到安全和性能优化,Yii都展现出了其专业和高效的一面...

    yii框架部署

    在本文中,我们将详细讲解Yii框架的部署过程,特别是在Windows操作系统上的步骤。以下是一个完整的部署指南: 首先,你需要从官方下载地址(http://www.yiiframework.com/download/)获取Yii框架的源代码。下载后,...

    YII框架数据验证规则

    ### YII框架数据验证规则详解 #### 一、引言 在Web开发中,数据验证是确保应用程序安全性和用户体验的关键步骤之一。YII框架作为一款高效、安全且专业的PHP Web开发框架,提供了丰富的数据验证机制。本文将详细...

    Yii 的登录流程

    Yii框架的设计旨在简化Web应用的开发与维护过程。 在本篇中,我们将重点讨论Yii框架中的用户登录流程。该流程涉及到多个核心概念和技术点,包括会话管理(session)、Cookie机制以及用户身份验证等。通过了解Yii框架...

    YIIbasic框架

    Yii基础版(YIIbasic)是Yii框架的一个简化版本,专为快速开发小型到中型项目而设计。它包含了所有基本组件,适合初学者或小型团队快速上手。 Yii框架的核心特性包括: 1. **MVC(Model-View-Controller)架构模式...

    Yii框架登录流程分析

    Yii框架登录流程是其功能的一个重要组成部分,它涉及到用户验证和授权的关键方面,确保了用户的安全登录和访问控制。 首先,Yii框架登录流程涉及到几个核心组件,包括session(会话)、cookie(小甜饼)以及用户...

    PHP的Yii框架入门使用教程

    本教程将引导你入门Yii框架,从安装到建立第一个应用,逐步了解其基本结构和功能。 首先,让我们详细讨论安装过程。安装Yii框架非常简单,主要包括两个步骤: 1. 从官方网站`yiiframework.com`下载最新版的Yii框架...

    yii框架2.0

    ### Yii框架2.0知识点详解 #### 一、概述 **Yii** 是一款高性能的PHP Web应用开发框架,被广泛应用于构建各种类型的Web应用程序。它以其简洁高效的代码库、易于学习和使用的特性以及丰富的功能而著称。**Yii 2.0**...

    php yii2框架高级模板

    它的预配置和免Composer安装特性使得开发过程更为顺畅,同时,Yii2框架本身的强大功能和灵活性为开发者提供了丰富的选择和便利。无论是对于初学者还是经验丰富的开发者,Yii2都是一个值得学习和使用的PHP框架。

    Python-一个基于OpenResty的仿Yii的web框架

    标题 "Python-一个基于OpenResty的仿Yii的web框架" 暗示了这个项目是用Python语言创建的一个Web开发框架,它受到了OpenResty和Yii框架的启发。OpenResty是一个集成了Nginx与LuaJIT的高性能Web平台,而Yii是一款流行...

    Yii框架反序列化RCE利用链分析1

    Yii框架是PHP中的一款高效、简洁且富有表现力的开发框架,用于构建Web应用程序。本文主要探讨了Yii2框架中的反序列化 Remote Code Execution (RCE)漏洞利用链的分析和构造过程。 首先,让我们理解反序列化漏洞的...

Global site tag (gtag.js) - Google Analytics