接触使用YII已经有几年光阴了,现在结合digpage.com(解析的很深入)这个网站的内容,会有变动,稍微记录一下。
一来帮助自己梳理一遍,二来做个一份备份入口。详细的还是请访问
(侵·删·联QQ2823175272)
一、特点
Yii是一个PHP框架,用于开发各种类型的Web应用。Yii官方将其定义为高性能、基于组件的框架。
Yii有两个最主要的版本:Yii1.1和Yii2.0。 Yii1.1现在已经不再进行新的开发了,官方只是进行维护,更新安全漏洞等,不会再有新的功能特性的引入。 而Yii2.0是在Yii1.1的基础上完全推倒重新写的一个框架,吸收了许多当前最新的技术和开发中的主流约定, 是最新一代Web开发框架的代表。 下面我们简单介绍Yii2.0的一些比较突出的特点:
- 运用了PHP命名空间、Trait、 PSR标准 、Composer和Bower包管理器, 等新技术新标准。
- 实现了 依赖注入和依赖注入容器 以及 服务定位器(Service Locator) 等新架构新模式。
- Yii2.0格外重视安全性,采取一系列手段有效防止SQL注入、XSS攻击、CSRF攻击、cookie篡改等。
- 广泛支持各类SQL和NOSQL数据库,高效实现了Active Record等数据库查询、操作界面,提供数据库迁移、复制、 读写分离等功能。
- 只需极少量的代码就可以实现完全符合标准的RESTful API。
- 支持各种粒度、介质的缓存机制。
- 提供多种认证和授权手段基于cookie和基于令牌的认证,RBAC等权限控制手段,支持OpenID,OAuth1,OAuth2等。
- 支持Bootstrap,jQuery UI,提供了丰富的Widget挂件供使用。
- 完善的国际化支持,提供符合 ICU标准 的时间、复数等格式化工具和消息翻译、视图翻译等功能。
- 除了支持Twig和Smarty 2个主流的PHP模版引擎外,开发者还可以自己写扩展支持其他引擎。
- 为苦命码农提供了 Yii调试工具条 和 Gii代码生成器 以及 文档生成器 等高效开发工具。
- 集成了 Codeception 和 Faker,并与DB Migration相结合,提供了一个fixture框架,方便测试开发。
- 提供了一个简单应用模板和高级应用模板,适用于不同的开发场景,都可以帮助开发者尽快搭建起自己的应用。
二、如何深入
2.1、在 Yii 基础 部分,依次介绍了 属性(Property) ,事件(Event) ,行为(Behavior) 等Yii中最基础的知识, 是理解整个Yii框架的最基本的概念。
2.2、在 Yii 约定 部分,主要讲解了Yii约定俗成的一些套路、设定,解决的是在开发者未作任何指定的情况下, Yii的默认行为方式的问题,用于加深对Yii实际使用的理解。这一部分主要包括 Yii应用的目录结构和入口脚本 , 别名(Alias) , Yii的类自动加载机制 , 环境和配置文件 , 配置项(Configuration) 等内容。
2.3在 Yii 模式 部分,剖析了Yii是如何实现一些当前Web开发中最主流和成熟的设计模式。 学习这些设计模式,有助于深入理解Yii的机制,更难得的是提高读者朋友自身的开发设计水平。 这一部分主要讲了 MVC , 依赖注入和依赖注入容器 , 服务定位器(Service Locator) 三种设计模式。