快速了解
完整资料
资料已展开关于 Yii
Yii特点
快速
Yii 仅加载您需要的功能,具有强大的缓存支持,通过尽可能少的开销提供最大化的功能。
安全
Yii 的标准是安全的,健全的默认设置和内置工具可帮助您编写更加稳定和安全的代码。
专业
Yii 使用简单但功能强大的 API 和代码生成功能,让您在更短的时间内编写更多代码。
关于Yii
Yii 是一个适用于开发 Web2.0 应用程序的高性能 PHP 框架。
Yii帮助Web开发人员建立复杂的应用程序,可以减少开发时间。
Yii 发音为 Yee or [ji:],它是“Yes It Is!”的首字母缩写。 这里通常是对那些刚用Yii的询问的准确,最简洁的回答:
它的速度快?...它是安全的吗?...它是专业的?...是不是适合我的下一个项目呢?... 是的!
Yii是一个免费的,开源的,基于PHP5的Web应用程序开发框架,代码简洁,DRY设计并且鼓励快速开发。它的工作可以简化您的应用程序开发,并有助于确保一个非常高效的,可扩展和可维护的终端产品。
极其优化的性能,Yii对于任何规模的项目都是不错的选择。然而,它构建时已经成熟的考虑到企业应用程序。 你有从头到脚(演示到持久性)完全的控制权,以符合您的企业发展指引的配置。 它自带了工具来帮助测试和调试应用程序,并具有清晰和全面的文档。
想了解更多关于Yii提供了哪些功能的列表,请查看功能部分。
Yii 有非常详细的文档 。从到开发指南到类参考手册,Yii 拥有您需要的所有信息以便于使您迅速学习和掌握它。
最后,但并非不重要,Yii 是免费的,Yii 遵循最新的 BSD 许可。它确保了它的第三方可发也循序和 BSD 相兼容的许可。这意味着无论从法律上还是财务上来说,您都可以自由的使用 yii 来开发任何一个开源的或者私有的应用。
历史
Yii是其创始人薛强的心血结晶,他从2008年1月1日开始了Yii项目。 强以前开发和维护Prado框架。 多年的经验,并从该项目聚集开发者的反馈意识到需要一个非常快速的,安全的,专业的框架,量身定制的以满足Web 2.0应用程序开发的期望。 2008年12月3日,经过近一年的开发,Yii 1.0正式向公众发布。
Yii相对于其它基于PHP的框架极其可观的性能立即引起广泛的关注,其受欢迎程度以前所未有的速度持续并增长,越来越多的开发者在使用它。
信任
Yii的很多想法来自其他著名Web编程框架和应用程序。下面是一个简短的清单。
Prado:这是 Yii 的主要思想来源。Yii 采用了基于组件和事件驱动编程模式,数据库抽象层,模块化的应用架构,国际化和本地化,和许多它的其他特点和功能。
Ruby on Rails:Yii 继承它的配置的思想。还引用它的 Active Record 的 ORM 设计模式。
jQuery:这是集成在 Yii 为基础的 JavaScript 框架。
Symfony:Yii 引用它的过滤设计和插件架构。
Joomla:Yii 引用其模块化设计和信息翻译方案。
我用 Yii2 + vue 写了一个博客网站 [ 2.0 版本 ]
登录
目前支持注册方式账号密码、手机、邮箱,但登录只能账号密码(我的免费手机短信只有两百条,能省就省,哈哈)。之后想加入github登录,微信登录貌似并不行,qq登录还没有了解。
权限管理
由于我这里的权限实在是简单,只有游客、普通用户、管理员,我一开始自己改造了一下ACF就开始用了。
后来琢磨着为了以后扩展,还是用rbac-0吧,但我实在是偷懒,不想为了角色-权限分配再写页面,最后就做成了rbac-0 加 ACF的权限管理。rbac-0中的用户、角色、用户-角色表都不变,但权限、权限-角色表被我省去了,角色和权限的关系写死在了ACF里。
这么偷懒的代价是,之后每次加功能,都得在behaviors中加一个rules
限流
在yii2官方文档里,看到了限流(Rate Limiting),看了下源码,由于我这前后端分离了,源码用不了了,那好吧,自己改造一下。
yii源码中的限流方法其实是计数器限流,而我更倾向于令牌桶算法,于是我用redis实现了令牌桶算法。具体是在beforeAction中根据ip限流,限制每分钟的总流量和每个用户流量。
由于我的服务器性能太差,我限制了每个用户每分钟请求20次。
对了,限流还可以用在验证上,我在手机注册验证里,限制了每个ip发短信的频率……
数据统计
类似站长统计这样的功能,我之前做了一个简单的浏览网页计数,现在弃用了,想改进一下,之后应该会做成图表类,曲线图这样直观的形式。
浏览统计的方法,是先在redis中计数,用ubuntu的crontab每隔五分钟执行yii2 console中指令,将数据记录到mysql中。
博客
编辑器用的vue-quill-editor,不是特别好用,有bug并且网上资料不多。
编辑博客为了防止自己忘记保存,做了个自动保存草稿的功能(目前只有管理员可以编辑博客)
登录的用户可以点赞和评论博客,游客则不可以。
消息通知
暂时还没做,功能是将与用户相关的评论、点赞以通知消息的形式反馈给用户。
用redis消息队列,保存点赞、评论的相关信息,用console指令读取消息,更新点赞、评论数,同时将消息插入到数据库。
GitHub地址https://github.com/AIjugg/changye_blog
yii教程_YII框架使用快速入门(专题)-php中文网
Yii 2.0 权威指南
Yii 是一个快速、安全、高效的PHP框架
Yii2.0快速入门
yii框架入门学习视频自学教程
中文教程:《深入理解Yii2.0》
Yii2.0 RESTful API 基础配置教程
适合的使用方向
Yii 是一个 高性能 的,适用于开发 WEB 2.0 应用的 PHP 框架
Yii 是一个 高性能 的,适用于开发 WEB 2.0 应用的 PHP 框架
Yii 是一个 高性能 的,适用于开发 WEB 2.0 应用的 PHP 框架。Yii 自带了 丰富的功能,包括 MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间
收录线索
内容根据公开资料整理;版本、兼容性与服务状态请以官网最新说明为准。