您的位置:首页 > 编程语言 > PHP开发

Yii

2016-04-25 21:14 621 查看


简介:

Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC、DAO/ActiveRecord、Widgets、caching、等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。从成功的网站应用相对于其它框架,Yii是最有效率的PHP框架之一。

Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具 yiic 可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发。

Yii 是一个通用的 Web 编程框架,可以用于开发几乎所有的 Web 应用。由于它是轻量级的且具备了成熟的缓存解决方案,它特别适用于开发高流量的应用,例如门户,论坛,内容管理系统(CMS),电子商务系统等等。

Yii和其它多数的PHP框架类似,Yii 首先也是一个MVC 框架。Yii 以其优异的性能,丰富的功能和清晰的文档优于其他PHP开发框架。Yii 从一开始就仔细设计以适合严谨的Web应用程序开发。它既不是一个其他项目的衍生品,也不是一个第三方工作的组合。 它是作者丰富的Web应用开发经验和对大多数流行的Web编程框架与应用的研究与思考的成果。

优点:

Yii容易学习和使用。只需要知道PHP和面向对象编程,便可以很快上手,而不必事先去学习一种新的架构或者模板语言。

用Yii的开发速度非常之快,除框架本身之外,需要为应用所写的编码极少。造就了Yii是最高效的开发框架之一。

Yii 具有高度的可重用性和可扩展性,是纯粹的面向对象。Yii中的一切都是独立的可被配置,可重用,可扩展的组件。更重要的是Yii有着越来越多的扩展库。主要由使用者贡献出的组件组成,这可能有助于大大减少开发时间。

Yii 有着丰富的功能,从MVC, DAO/ActiveRecord, 到主题化, 国际化和本地化, Yii 提供了几乎所有今天的Web 2.0应用程序开发所需的功能。

Yii参考手册是Yii完备的文档,有着学习和掌握它所需要的任何资料和信息。

Yii一开始就精心设计,以适应复杂的Web应用开发。它不是某个项目的副产品或者第三方集成。而是融合了作者丰富的Web应用开发经验和其它热门 Web 框架和应用的优秀思想的结晶。

最后,重要的一点:Yii是免费的,Yii遵循最新的BSD许可。它确保了它的第三方开发也循序和BSD相兼容的许可。这意味着无论从法律上还是财务上来说,都可以自由的使用Yii来开发任何一个开源的或者私有的应用。

它非常令人印象深刻的是,性能指标相比其他基于PHP的框架有明显效率,立即吸引了非常积极的关注并受到许多开发者的欢迎。

特性:

Yii几乎拥有了当今Web 2.0应用发展的全部特性。下面是这些特性的一个简短的清单。

模型-视图-控制器(MVC)设计模式:Yii在WEB编程中采用这一成熟的技术从而可以更好的将逻辑层和表现层分开。

数据库访问对象(DAO)和Active Record:Yii允许开发者模型数据库中的数据对象,从而减少他们在写很长和重复的SQL语句上的精力。

与jQuery整合:作为最流行的JavaScript框架之一,jQuery可以编写高效而灵活的JavaScript接口。

表单输入和验证:YII使得收集表单输入非常容易和安全。 Yii拥有一套确保数据的有效性的验证器,它也有辅助方法和部件,显示验证失败时的错误。

Web 2.0部件:由jQuery的支持,YII配备了一套Web 2.0的部件,如自动完成输入字段,TreeView等等。

身份验证和授权:Yii具有内置的身份验证支持。它也支持通过分层的基于角色的访问控制(RBAC)的授权。

主题:它能够瞬间改变一个Yii应用的视图。

Web服务:Yii支持自动生成复杂的WSDL服务规范和管理Web服务请求处理。

国际化(I18N)和本地化(L10N):Yii支持消息转换,日期和时间格式,数字格式和界面本地化。

分层缓存方案:Yii支持数据缓存,页面缓存,片段缓存和动态内容。缓存的存储介质,可以轻松地更改而不触及应用程序代码。

错误处理和日志记录:错误的处理很好的呈现出来,日志信息可以分类,过滤并分配到不同的位置。

安全:Yii配备了许多安全的措施,以帮助安全的Web应用程序,以防止网络攻击。这些措施包括跨站点脚本(XSS)预防,跨站点请求伪造(CSRF)预防,Cookie篡改预防等。

符合XHTML:Yii的组件和命令行工具生成的代码符合XHTML标准。

自动代码生成:Yii提供了可以自动生成的代码的工具,根据你的需要,例如生成一个程序骨架,CRUD应用等等。

完全面向对象:Yii框架坚持严格的面向对象编程范式。它没有定义任何全局函数或变量。而且,它定义的类层次结构允许最大的可重用性和定制。

友好的使用第三方代码:Yii精心设计让它第三方代码非常好的工作。例如,你可以在你的Yii应用程序中使用PEAR或Zend Framework的代码。

详细的文档:每一个单一的方法或属性都非常清楚的记录着。同时提供了一个全面的教程和一些新手教程。

扩展库:Yii提供了一个组成用户提供组件的一个扩展库,这使得上述功能列表是永无止境的。

设计参考:

Yii集成了许多其他著名Web编程框架、应用程序的思想。下面是Yii所吸收和设计上参考列表:

Prado:这是Yii思想的主要来源。Yii采用基于组件和事件驱动的编程范式,数据库抽象层,模块化的应用程序架构、国际化、本地化和许多其他的特点和规律。

Ruby on Rails:Yii的约定优于配置继承了它的精神。Yii的ORM层还引用了它的Active Record设计模式。

JQuery: 这是集成在Yii中的基本框架。

Symfony:Yii引用其过滤器的设计和插件体系结构。

Joomla:Yii引用了其模块化设计和信息翻译方案。

开发的必要条件:

要运行一个 Yii 驱动的Web应用,需要有一个支持 PHP 5.1.0 或以上版本的 Web服务器。对于打算使用Yii的开发者来说,首先要懂PHP程序开发语言,另外懂得面向对象编程(OOP)会非常有帮助,因为Yii 是一个纯 OOP 的PHP框架。


Yii 是什么

===========

Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 `易`)在中文里有 “极致简单与不断演变” 两重含义,也可看作 **Yes It Is**! 的缩写。


Yii 最适合做什么?

Yii 是一个通用的 Web 编程框架,即可以用于开发各种基于 PHP 的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,Yii 特别适合开发大型应用,如门户网站、论坛、内容管理系统(CMS)、电子商务项目和 RESTful Web 服务等。


Yii 和其他框架相比呢?

- 和其他 PHP 框架类似,Yii 实现了 MVC(Model-View-Controller)设计模式并基于该模式组织代码。

- Yii 的代码简洁优雅,这是 Yii 的编程哲学。它永远不会为了要迎合某个设计模式而对代码进行过度的设计。

- Yii 是一个全栈框架,提供了大量久经考验,开箱即用的特性,例如:对关系型和 NoSQL 数据库都提供了查询生成器(QueryBuilders)和 ActiveRecord;RESTful API 的开发支持;多层缓存支持,等等。

- Yii 非常易于扩展。你可以自定义或替换几乎任何一处核心代码。你还会受益于它坚实可靠的扩展架构,使用、再开发或再发布扩展。

- 高性能始终是 Yii 的首要目标之一。

Yii 不是一场独角戏,它由一个[强大的开发者团队](http://www.yiiframework.com/about/)提供支持,也有一个庞大的专家社区,持续不断地对 Yii 的开发作出贡献。Yii 开发者团队始终对 Web 开发最新潮流和其他框架及项目中的最佳实践和特性保持密切关注,那些有意义的最佳实践及特性会被不定期的整合进核心框架中,并提供简单优雅的接口。


Yii 版本

Yii 当前有两个主要版本:1.1 和 2.0。 1.1 版是上代的老版本,现在处于维护状态。2.0 版是一个完全重写的版本,采用了最新的技术和协议,包括依赖包管理器(Composer)、PHP 代码规范(PSR)、命名空间、Traits(特质)等等。 2.0 版代表了最新一代框架,是未来几年中我们的主要开发版本。本指南主要基于 2.0 版编写。


系统要求和先决条件

Yii 2.0 需要 PHP 5.4.0 或以上版本支持。你可以通过运行任何 Yii 发行包中附带的系统要求检查器查看每个具体特性所需的 PHP 配置。

使用 Yii 需要对面向对象编程(OOP)有基本了解,因为 Yii 是一个纯面向对象的框架。Yii 2.0 还使用了 PHP 的最新特性,例如 [命名空间](http://www.php.net/manual/en/language.namespaces.php) 和 [Trait(特质)](http://www.php.net/manual/en/language.oop5.traits.php)。理解这些概念将有助于你更快地掌握 Yii 2.0。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: