`
zhouwei064
  • 浏览: 27266 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Yii技术框架学习之路(一)

    博客分类:
  • PHP
阅读更多

学习PHP的Yii框架的权威指南

最近工作有用到别人写好的bugfree问题管理系统,研究了一番,发现用到了Yii框架,貌似要好好研究下Yii框架,才能对bugfree系统进行修改,定制出自己的功能。

http://www.yiiframework.com/doc/guide/1.1/zh_cn/

 

Yii 使用了 Web 开发中广泛采用的模型-视图-控制器(MVC)设计模式。 MVC的目标是将业务逻辑从用户界面的考虑中分离,这样开发者就可以更容易地改变每一部分而不会影响其他。 在 MVC中,模型代表信息(数据)和业务规则;视图包含了用户界面元素,例如文本,表单等; 控制器则管理模型和视图中的通信。

除了 MVC, Yii 还引入了一个前端控制器,叫做 应用,它表示请求处理的执行上下文。 应用处理用户的请求并将其分派到一个合适的控制器以继续处理。

下面的示意图展示了 Yii 应用的静态结构:

Static structure of Yii application

 

下图展示了一个 Yii 应用在处理用户请求时典型的工作流。

A typical workflow of Yii application

  1. 用户发出了访问 URL http://www.example.com/index.php?r=post/show&id=1 的请求, Web 服务器通过执行入口脚本 index.php 处理此请求。
  2. 入口脚本创建了一个 应用 实例并执行。
  3. 应用从一个叫做 request 的 应用组件 中获得了用户请求的详细信息。
  4. 应用在一个名叫 urlManager 的应用组件的帮助下,决定请求的 控制器 和 动作 。在这个例子中,控制器是post,它代表 PostController 类; 动作是 show ,其实际含义由控制器决定。
  5. 应用创建了一个所请求控制器的实例以进一步处理用户请求。控制器决定了动作 show 指向控制器类中的一个名为 actionShow 的方法。然后它创建并持行了与动作关联的过滤器(例如访问控制,基准测试)。 如果过滤器允许,动作将被执行。
  6. 动作从数据库中读取一个 ID 为 1 的 Post 模型
  7. 动作通过 Post 模型渲染一个名为 show 的 视图
  8. 视图读取并显示 Post 模型的属性。
  9. 视图执行一些 小物件
  10. 视图的渲染结果被插入一个 布局
  11. 动作完成视图渲染并将其呈现给用户。

对2需要进一步阐释:应用由 入口脚本 创建为一个单例对象。这个应用单例对象可以在任何地方通过 Yii::app() 访问。

 个人分析认为3、7、9是比较让人忽略的重点,具体包括request应用组件、一个名为show的视图、视图执行了一些小物件。

应用的生命周期 

当处理用户请求时,应用将经历如下声明周期:

  1. 通过 CApplication::preinit() 预初始化应用;

  2. 设置类的自动装载器和错误处理;

  3. 注册核心类组件;

  4. 加载应用配置;

  5. 通过 CApplication::init() 初始化应用:

    • 注册应用行为;
    • 载入静态应用组件;
  6. 触发 onBeginRequest 事件;

  7. 处理用户请求:

    • 解析用户请求;
    • 创建控制器;
    • 运行控制器;
  8. 触发 onEndRequest 事件。

分享到:
评论

相关推荐

    yii框架中文手册教程

    1. 性能优越:Yii框架采用了各种优化技术,保证了Web应用的高性能,尤其在处理大量数据和高流量的Web应用时表现优异。 2. 组件化设计:Yii框架采用基于组件的设计模式,开发者可以通过复用组件快速组装出复杂的Web...

    《Yii框架深度剖析》配套代码

    《Yii框架深度剖析》配套代码 本书不是简单地介绍如何使用 Yii 框架,而是站在框架设计的高度,从源代码级别深 度剖析。... 充分了解了这部分知识后,读者对 Yii 框架也有了初步认识,然后正式进入 Yii 框架的学习。

    php最新框架YII框架

    Yii框架是PHP开发中的一个高性能、基于组件的MVC(Model-View-Controller)框架,以其高效、灵活和丰富的特性而备受开发者喜爱。它旨在提高开发效率,提供强大的功能,同时保持代码简洁和易于维护。Yii的名字来源于...

    yii框架中文文档、yii中文手册教程

    Yii框架以性能优化为设计核心,提供了一系列现代化的Web开发工具和技术,使得开发者可以快速、高效地编写高质量的代码。 在“yii1.1中文文档”中,包含了Yii 1.1版本的详尽教程和参考指南。这个版本是Yii框架的一个...

    2014年辛星PHP教程秋季版之yii框架教程

    在深入学习2014年辛星PHP教程秋季版之Yii框架教程之前,我们需要明确几个核心概念。 首先,Yii是一个高级的PHP框架,广泛应用于Web开发,以敏捷和性能著称。它的核心思想包括快速开发、安全性以及专业性,旨在为...

    Yii框架详解

    总结,Yii框架凭借其高效、易用和安全的特性,成为PHP开发者构建大型Web应用的首选之一。通过深入学习Yii,开发者可以提高开发效率,同时保证应用的稳定性和安全性。无论你是初学者还是经验丰富的开发者,Yii都有...

    yii框架中文版手册pdf和chm格式

    - **PDF手册**:提供详细的API文档和技术指南,是学习Yii的重要资料。 - **CHM手册**:另一种格式的手册,适合离线查阅,同样包含了完整的框架指南和参考信息。 4. **开发流程**: - **配置**:通过配置文件设置...

    YII框架实例视频后盾网马振宇

    根据提供的文件信息,我们可以推断出本视频教程主要围绕YII框架进行讲解,特别是YII2版本的应用。...通过学习本教程,不仅可以掌握YII2框架的核心概念和技术要点,还能学会如何利用这些知识构建实用的Web应用程序。

    YiiFrame 是一个基于Yii2+Bootstrap的快速后台开发框架

    YiiFrame 是一个基于Yii2框架和Bootstrap前端库的高效后台开发框架,专为简化Web系统的构建而设计。Yii2是一个高性能、组件化的PHP框架,它提供了丰富的特性,如MVC(模型-视图-控制器)架构模式、主动记录(Active ...

    2016最全Yii框架

    教程名称: 2016最全Yii框架 YII是目前比较火的框架,框架里面使用了最新的技术和设计,可以说学习了YII就学习了最新的php技术,本课程主要学习XSS、CSRF、SQL注入、文件上传漏洞等攻击方式,以及YII框架对它们的...

    基于Yii2.0框架深度重构的B2B2C多用户商城系统

    在技术栈方面,虽然标签中提到了"C#",但考虑到ShopWind是基于PHP的Yii2.0框架构建,我们推测这可能是项目中涉及的其他技术或服务的一部分。例如,可能使用了C#开发了与PHP系统交互的API接口,或者是构建了前后端...

    配合《带有sphinx搜索功能的yii2框架实例》的资源

    4. **集成Yii2**:在Yii2框架中,你需要创建一个组件或服务来管理Sphinx的连接和查询。这可能涉及到编写控制器、模型和视图代码,以便用户通过Web界面触发搜索请求。 5. **查询接口**:学习Sphinx的查询语法,包括...

    基于 php 的 yii2 框架开发的一款后台管理系统源码.zip

    总的来说,这个基于 Yii2 和 layui 的后台管理系统源码是一个很好的学习资源,涵盖了 PHP 开发中的许多关键知识点,包括 MVC 设计模式、前端框架的整合、数据库操作、权限控制以及可扩展性的实现。通过深入研究这个...

    YII框架安装包和详细说明

    总之,这个压缩包提供了一个全面的资源库,帮助你从零开始学习和掌握Yii框架,无论是初学者还是经验丰富的开发者,都能从中获益。通过深入阅读文档,实践代码示例,你将能够熟练地利用Yii构建高效、可维护的Web应用...

    uniapp源码外卖联盟小程序-后台PHP源码Yii框架开发的DuAdmin后台源码-.zip

    总的来说,这个项目涵盖了前端开发、后端开发、框架应用、小程序开发以及私域流量运营等多个层面,对于想要深入学习这些领域的开发者来说,这是一个非常有价值的学习和实践资源。同时,由于项目完全开源,对于有志于...

    YII 1.1 Application Development Cookbook

    《YII 1.1 应用开发食谱》是一本深入探讨...总之,《YII 1.1 应用开发食谱》不仅是一本技术指南,更是开发者提升技能、加速项目开发的宝贵资源。无论是新手还是有经验的开发者,都能从中获得有价值的见解和实用的技巧。

    yii框架2.0

    **Yii 2.0** 不仅是一款强大的Web开发框架,更是现代Web开发理念和技术的集合体。通过深入了解其设计理念和技术实现,开发者不仅可以快速构建出高效稳定的Web应用,还能在开发过程中学习到先进的软件工程思想和最佳...

    yii项目源代码

    本项目源代码是基于Yii框架构建的一个实际应用,对于初学者而言,这是一个很好的学习资源,能够帮助他们深入理解Yii的工作原理和最佳实践。 首先,让我们详细了解一下Yii框架的核心特性。Yii提供了一种模型-视图-...

    yii框架中文手册及中文教程手册

    10. **社区活跃**:Yii拥有一个庞大的开发者社区,提供丰富的插件和扩展,以及及时的技术支持和交流。 在中文教程中,你将学习到如何安装Yii框架,如何配置环境,如何创建项目结构,以及如何使用Yii的组件和服务。...

Global site tag (gtag.js) - Google Analytics