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

YII学习第十四天,YII的执行过程

    博客分类:
  • YII
yii 
阅读更多

二、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()

分享到:
评论

相关推荐

    Yii2.0视频教程

    - **扩展**:扩展是指第三方提供的额外功能包,可以轻松地为Yii应用添加新功能。 - 扩展安装:通过Composer安装所需的扩展包。 - 使用扩展:在项目中启用扩展,并按照文档说明进行配置。 #### 七、调试与日志 - ...

    Yii面试题摸底测试教学考前摸底

    #### 十四、行为过滤器设计 **知识点解析:** - **行为过滤器:** 设计行为过滤器来对控制器内部的操作进行前置或后置处理。 #### 十五、音乐播放小程序设计 **知识点解析:** - **音乐播放器设计:** 创建音乐...

    yii手册 中文 chm格式

    11. **扩展和组件**:讲解如何创建自定义组件,以及如何使用Yii社区提供的第三方扩展。 12. **性能优化**:提供了各种优化技巧,包括配置调整、缓存策略和数据库查询优化。 13. **部署**:涵盖了将应用部署到生产...

    yii说明文档

    总的来说,“yii说明文档”是开发者学习和掌握Yii框架的重要资源。它详尽地阐述了框架的各个方面,无论是初学者还是经验丰富的开发者,都能从中受益匪浅,提升开发效率和代码质量。通过阅读和实践文档中的内容,你...

    yii-guide-2.0-zh-cn.pdf

    14. **扩展**:介绍如何安装、使用和创建第三方扩展,以增强框架的功能。 Yii 2.0 框架以其高效的性能、清晰的架构和丰富的功能深受开发者喜爱,这份中文PDF文档为中文用户提供了全面的学习资源,无论是初学者还是...

    php学习电子书php 教程

    了解基本的变量声明、数据类型(如字符串、整型、浮点型、布尔型、数组、对象等)、流程控制(if...else、switch、for、while等)以及函数的使用是学习PHP的第一步。 3. 输出与输入:PHP提供了echo和print用于输出...

    《PHP编程宝典》光盘源码(上)

    12. **第14章:PHP安全** - 讨论防止SQL注入、XSS攻击、CSRF等常见Web安全问题的策略,以及如何正确处理用户输入。 13. **第15章:PHP与模板引擎** - 了解如何使用模板引擎(如Smarty)分离业务逻辑和视图,提高...

    PHP部分面试题

    #### 十四、Yii2 安装第三方扩展应用 **安装第三方扩展应用的方法:** 1. **使用Composer**: - 通过Composer添加第三方扩展到项目中是最常用的方法。 - 在 `composer.json` 文件中添加扩展的名称和版本,然后...

    大道PHP:LAMP+Zend+开源框架整合开发与实战(随书光盘源码2).rar

    14. 第43章:可能探讨了PHP的性能监控和调试技巧,帮助开发者定位问题并优化代码。 通过这些章节的学习和实践,读者将全面掌握PHP开发的基本技能,并能在实际项目中灵活运用各种框架和技术,提升开发效率和代码质量...

    php编程一百例-适合初学者的

    ...PHP(Hypertext Preprocessor)是一种服务器端的脚本语言,主要用于Web开发,可以嵌入到HTML中...在学习过程中,不要忘记理论与实践相结合,多思考每个例子背后的原理和应用场景,这样你的PHP编程技能将会迅速提升。

    PHP编程一百例.rar

    在本压缩包“PHP编程一百例.rar”中,我们聚焦于PHP编程的实践应用,虽然描述中提到只包含了从第24个到第100个示例,但这些实例依然能够提供丰富的学习资源,帮助初学者乃至有一定基础的开发者巩固和提升PHP编程技能...

    phpend-maste大一大二笔记

    14. **框架**:如Laravel、Symfony、Yii等PHP框架,它们提供了结构化开发方式,提高开发效率和代码质量。 15. **PHP与前端技术结合**:常与HTML、CSS、JavaScript一起使用,构建动态交互的Web应用。 通过深入学习...

    Modern PHP中文版_(0601).rar

    学习如何正确处理错误和异常对于编写健壮的代码至关重要。 4. **PHP函数式编程**:虽然PHP主要被视为一种面向对象的语言,但它也支持函数式编程风格,如`array_map()`、`array_filter()`等,可以用于处理数组和其他...

    脚本语言服务端php实现.rar

    它能访问服务器上的文件系统,执行数据库查询,处理表单数据等。 3. **Web开发中的应用**:PHP常用于构建动态网站,如内容管理系统(CMS),电子商务平台,论坛等。它可以与各种数据库系统(如MySQL,PostgreSQL)...

    第4套PHP面试题

    15. **框架知识**:如Laravel、Yii、Symfony等,了解其主要特性和使用场景。 16. **安全性**:包括SQL注入防御(预处理语句,参数绑定),XSS(Cross-site scripting)防护,CSRF(Cross-site request forgery)...

    bdDani

    14. **框架**:例如Laravel、Symfony、Yii等,提供了一套完整的开发结构和工具,加速项目开发。 15. **Web服务和API**:使用PHP创建RESTful API,与其他系统进行数据交换。 在"bdDani-main"中,我们可以预期找到该...

    php代码-23入七娃娃

    14. PHP框架:如Laravel、Symfony、Yii等,它们提供了更高级的结构和工具,简化开发过程。 尽管上述内容是PHP编程的基础,但具体到"php代码-23入七娃娃",我们还需要`main.php`和`README.txt`的内容才能进一步解析...

    test_task

    PHP有许多流行的开发框架,如Laravel、Symfony、CodeIgniter、Yii等,它们提供了一套完整的MVC(模型-视图-控制器)架构,简化开发过程。 13. **Composer** Composer是PHP的依赖管理工具,用于安装、管理和更新...

    CodeSnippet-2021

    14. **单元测试**:使用PHPUnit编写和执行单元测试,确保代码质量。 15. **性能优化**:包括内存管理和缓存策略,如APC、Memcached或Redis。 通过这个"CodeSnippet-2021"资源,开发者可以深入学习PHP的各个方面,...

    iwebshop手册

    该系统采用了MVC架构(Yii框架思想)设计模式,具备丰富的功能、简单的使用体验以及优良的安全性和扩展性,是国内开源市场上备受好评的产品之一。 - **技术栈**:iWebShop主要基于PHP语言进行开发,并使用MySQL作为...

Global site tag (gtag.js) - Google Analytics