现在的位置: 首页 > 架构设计 > 正文

Yii是什么?Yii框架的有点有哪些

2020年01月03日 架构设计 ⁄ 共 1824字 ⁄ 字号 评论关闭

  Yii是什么?Yii是一个PHP框架,用于开发各种类型的Web应用。Yii官方将其定义为高性能、基于组件的框架。

  Yii具有以下特点:

  1、Yii开发团队一直关注业内Web开发的最新技术,很注意吸收当下最为流行的技术。 可以说,近年来Web开发中最潮的技术都可以在Yii身上或多或少的看到影子。 比如,刚刚开始的时候Yii带有明显的Ruby on Rails风格; 比如Yii2中刚刚实现的命名空间等PHP最新特性支持等。 一个跟得上潮流和趋势的框架,才具有吸引力和生命力,学习起来才有意思、有意义。

  2、正如其名字的发音,Yii是一个比较易学、易用的框架。代码质量很高,有许多可以学习的地方。 注释清晰、文档丰富阅读代码难度不高。社区活跃,官方论坛有中文区,国内论坛人气也还OK,知识获取容易。 架构相对稳定,从Yii1.1到Yii2的变化看,许多原来的约定和沉淀的经验都还适用。

  3、就Web开发而言,无论是哪种类型的应用、无论是哪个开发阶段的常见问题,Yii都有成熟、高效、可靠的解决方案。 对于典型的Web开发而言,这已经是足够了。比如,伪静态化、国际化、RESTful等,Yii都有提供编程的框架。 但是,从规模上来讲,Yii还算不上一个大型框架。 个人对其的评价是一个中型偏轻点的框架,对于绝大多数的应用开发而言,肯定是充分、够用的了。

  4、Yii官方把运行效率作为一个重要的特点来宣传。从实际使用看,在诸多PHP框架中,确实效率上具有一定优势。 但个人认为这点其实不是最重要的特点。对于框架的使用者,也就是开发人员来讲,更重要的是开发效率。 由于Yii架构合理,Web开发中常用的思路和模式都可以很顺地套上使用。 在Web开发中经常遇到的一些细节上的问题,Yii也提供了许多现成解决方案,拿来就可以使用,非常高效、方便。 开发效率高,对于开发者、开发团队而言,更为重要。

  要感谢Yii开发团队精益求精的不懈努力,为广大Web开发者创造了如此优秀的框架。 本人自Yii1.1起就开始接触并使用Yii了,由于工作和爱好关系,也接触过一些框架了。总的说,至今对Yii很满意, 最最心仪的是两点:学了Yii,就学到了许多当下最流行、最成熟的东西;开发起快,改进来快。

  Yii2.0的有点

  Yii有两个最主要的版本:Yii1.1和Yii2.0。Yii1.1是老的版本,在写这本书时,最新版本号是1.1.15。 Yii1.1现在已经不再进行新的开发了,官方只是进行维护,更新安全漏洞等,不会再有新的功能特性的引入。 而Yii2.0是在Yii1.1的基础上完全推倒重新写的一个框架,吸收了许多当前最新的技术和开发中的主流约定, 是最新一代Web开发框架的代表。 附录1:Yii2.0 对比 Yii1.1 的重大改进 部分介绍了Yii2.0对比Yii1.1的重大改进。 下面我们简单介绍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框架,方便测试开发。

  提供了一个简单应用模板和高级应用模板,适用于不同的开发场景,都可以帮助开发者尽快搭建起自己的应用。

抱歉!评论已关闭.