二、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()
- 浏览: 1877972 次
- 性别:
- 来自: 北京
最新评论
-
wangyudong:
Wisdom RESTClient工具地址更新了哦https: ...
前端模拟POST发送数据-Chrome下的REST Client(接口测试利器) -
wangyudong:
很多REST Client是不支持自动化测试RESTful A ...
前端模拟POST发送数据-Chrome下的REST Client(接口测试利器) -
higkoo:
一个非常棒的系统,要是能支持LDAP等开源认证就完美了。
Cynthia 是个问题管理/BUG管理/任务管理/项目管理系统。 -
寻光之旅:
标签库使用有啥好处呢?
thinkphp 使用标签库的步骤 -
lgdjy123:
Android:TextView属性大全
相关推荐
- **扩展**:扩展是指第三方提供的额外功能包,可以轻松地为Yii应用添加新功能。 - 扩展安装:通过Composer安装所需的扩展包。 - 使用扩展:在项目中启用扩展,并按照文档说明进行配置。 #### 七、调试与日志 - ...
#### 十四、行为过滤器设计 **知识点解析:** - **行为过滤器:** 设计行为过滤器来对控制器内部的操作进行前置或后置处理。 #### 十五、音乐播放小程序设计 **知识点解析:** - **音乐播放器设计:** 创建音乐...
11. **扩展和组件**:讲解如何创建自定义组件,以及如何使用Yii社区提供的第三方扩展。 12. **性能优化**:提供了各种优化技巧,包括配置调整、缓存策略和数据库查询优化。 13. **部署**:涵盖了将应用部署到生产...
总的来说,“yii说明文档”是开发者学习和掌握Yii框架的重要资源。它详尽地阐述了框架的各个方面,无论是初学者还是经验丰富的开发者,都能从中受益匪浅,提升开发效率和代码质量。通过阅读和实践文档中的内容,你...
14. **扩展**:介绍如何安装、使用和创建第三方扩展,以增强框架的功能。 Yii 2.0 框架以其高效的性能、清晰的架构和丰富的功能深受开发者喜爱,这份中文PDF文档为中文用户提供了全面的学习资源,无论是初学者还是...
了解基本的变量声明、数据类型(如字符串、整型、浮点型、布尔型、数组、对象等)、流程控制(if...else、switch、for、while等)以及函数的使用是学习PHP的第一步。 3. 输出与输入:PHP提供了echo和print用于输出...
12. **第14章:PHP安全** - 讨论防止SQL注入、XSS攻击、CSRF等常见Web安全问题的策略,以及如何正确处理用户输入。 13. **第15章:PHP与模板引擎** - 了解如何使用模板引擎(如Smarty)分离业务逻辑和视图,提高...
#### 十四、Yii2 安装第三方扩展应用 **安装第三方扩展应用的方法:** 1. **使用Composer**: - 通过Composer添加第三方扩展到项目中是最常用的方法。 - 在 `composer.json` 文件中添加扩展的名称和版本,然后...
14. 第43章:可能探讨了PHP的性能监控和调试技巧,帮助开发者定位问题并优化代码。 通过这些章节的学习和实践,读者将全面掌握PHP开发的基本技能,并能在实际项目中灵活运用各种框架和技术,提升开发效率和代码质量...
...PHP(Hypertext Preprocessor)是一种服务器端的脚本语言,主要用于Web开发,可以嵌入到HTML中...在学习过程中,不要忘记理论与实践相结合,多思考每个例子背后的原理和应用场景,这样你的PHP编程技能将会迅速提升。
在本压缩包“PHP编程一百例.rar”中,我们聚焦于PHP编程的实践应用,虽然描述中提到只包含了从第24个到第100个示例,但这些实例依然能够提供丰富的学习资源,帮助初学者乃至有一定基础的开发者巩固和提升PHP编程技能...
14. **框架**:如Laravel、Symfony、Yii等PHP框架,它们提供了结构化开发方式,提高开发效率和代码质量。 15. **PHP与前端技术结合**:常与HTML、CSS、JavaScript一起使用,构建动态交互的Web应用。 通过深入学习...
学习如何正确处理错误和异常对于编写健壮的代码至关重要。 4. **PHP函数式编程**:虽然PHP主要被视为一种面向对象的语言,但它也支持函数式编程风格,如`array_map()`、`array_filter()`等,可以用于处理数组和其他...
它能访问服务器上的文件系统,执行数据库查询,处理表单数据等。 3. **Web开发中的应用**:PHP常用于构建动态网站,如内容管理系统(CMS),电子商务平台,论坛等。它可以与各种数据库系统(如MySQL,PostgreSQL)...
15. **框架知识**:如Laravel、Yii、Symfony等,了解其主要特性和使用场景。 16. **安全性**:包括SQL注入防御(预处理语句,参数绑定),XSS(Cross-site scripting)防护,CSRF(Cross-site request forgery)...
14. **框架**:例如Laravel、Symfony、Yii等,提供了一套完整的开发结构和工具,加速项目开发。 15. **Web服务和API**:使用PHP创建RESTful API,与其他系统进行数据交换。 在"bdDani-main"中,我们可以预期找到该...
14. PHP框架:如Laravel、Symfony、Yii等,它们提供了更高级的结构和工具,简化开发过程。 尽管上述内容是PHP编程的基础,但具体到"php代码-23入七娃娃",我们还需要`main.php`和`README.txt`的内容才能进一步解析...
PHP有许多流行的开发框架,如Laravel、Symfony、CodeIgniter、Yii等,它们提供了一套完整的MVC(模型-视图-控制器)架构,简化开发过程。 13. **Composer** Composer是PHP的依赖管理工具,用于安装、管理和更新...
14. **单元测试**:使用PHPUnit编写和执行单元测试,确保代码质量。 15. **性能优化**:包括内存管理和缓存策略,如APC、Memcached或Redis。 通过这个"CodeSnippet-2021"资源,开发者可以深入学习PHP的各个方面,...
该系统采用了MVC架构(Yii框架思想)设计模式,具备丰富的功能、简单的使用体验以及优良的安全性和扩展性,是国内开源市场上备受好评的产品之一。 - **技术栈**:iWebShop主要基于PHP语言进行开发,并使用MySQL作为...