Yii PHP Framework是一个开源的,免费的,与平台无关的基于Web的软件,它提供了一个高性能的基于组件的PHP框架,特别设计用于允许Web程序员开发大规模,基于Web的应用程序。
Yii是以严格的OOP(面向对象编程)编写的,易于学习,包括高度可重用的组件,并且可以显着减少开发时间,因为您只需要知道面向对象的编程和PHP使用它。
功能一览
主要功能包括MVC(模型 - 视图 - 控制器)设计模式,启用AJAX的小部件,Web服务,错误记录和处理,自动代码生成,数据库迁移,扩展库,查询构建器,数据库访问对象,以及全面的文件。
此外,软件具有单元测试,功能测试,主题和皮肤,内置授权和身份验证,支持第三方代码,分层缓存方案,表单验证和输入,本地化和国际化以及Active Record支持。
由于采用了MVC模型,Yii能够提供一个干净的SoC(关注分离,简化Web应用程序的开发和维护),还支持分层基于角色的访问控制(RBAC),以及许多其他有吸引力和创新的功能。
Yii PHP Framework入门
要在您的平台上安装和使用Yii PHP Framework,请从Softoware或项目官方网站下载最新版本(请参阅本文末尾的链接),其中分为两个版本:Basic和Advanced 。
将存档保存在计算机上的某个位置,使用您喜欢的存档管理器实用程序提取其内容,打开您首选的FTP客户端,连接到您要部署Yii PHP Framework的服务器,并将所有文件传输到根目录的服务器。
该项目支持所有具有最新和健康的Apache和PHP 5.4安装的Linux发行版。受支持的硬件体系结构包括32位(x86)和64位(x86_64)。
新增功能:
- 版本2.0.11是Yii 2.0的一个小版本,其中包含超过110个增强功能和错误修复。
新功能:
- Bug#4471:yii caching ApcCache :: getValues()现在在APC安装但在CLI模式下未启用时返回数组
- Bug#4823:yii message accuracy and error handling are improved(samdark)
- 错误#4889:当用户无法访问登录页面时,应用程序进入重定向循环。现在显示403(samdark)
- 错误#5070:Gii控制器生成器应使用控制器类名称而不是控制器ID来指定新控制器(qiangxue)
- 错误#5402:在资产类别(samdark)中有闭包时,调试程序未加载
- 错误#5448:日期格式化程序只对日期进行时区转换,导致显示的日期不同于提供的日期(cebe)
- 错误#5452:在响应发送后发生的错误不会显示(qiangxue)
- 错误#5521:修正了yii console controllers AssetController打破了以'/'(klimov-paul)开头的CSS网址
- 错误#5570:yii bootstrap Tabs会在其中一个项目(RomeroMsk)未设置内容时抛出异常
- 错误#5584:yii rbac DbRbacManager在不支持级联更新(mdmunir)的数据库上删除规则时不应删除项
- 错误#5601:Query :: where()和ActiveQuery :: where()中的简单条件不允许将yii db Expression用作值(cebe,stevekr)
- 错误#5619:yii log Target不应尝试在没有会话时启动会话(klimov-paul,qiangxue)
- Bug#5657:yii caching ApcCache :: mset()和madd()可能会在某些APC设置(LAV45)中导致警告
- Bug#5665:RESTful结果中的currentPage元数据应该是基于1的,与HTTP标头(qiangxue)中的类似。
- Bug#5682:当UrlManager :: linkAssets为true(dmvslv)时,asset命令会错误地合并CSS文件
- Bug#5702:括号应自动添加到Validator :: whenClient以避免js错误(mdmunir,qiangxue)
- 错误#5745:当路径包含破折号(qiangxue)时,Gii和调试模块可能会导致404异常
- Bug#5748:Smarty {path is generated absolute URLs instead of relative ones(samdark,motzel)
- Bug#5768:将data-confirm属性设置为提交按钮时,点击按钮不会触发表单提交(qiangxue)
- 错误#5780:QueryBuilder :: batchInsert()可能会导致“未定义索引”错误(qiangxue)
- 错误#5833:尝试更新邮件(qiangxue)时,消息命令失败,出现FK约束错误
- 错误#5863:在网格视图中选择所有单个yii grid CheckboxColumn复选框并不会导致“全部”复选框已选中(samdark)
- Bug#5893:yii helpers ArrayHelper :: toArray()现在应用$ properties参数,用于在递归调用(otsec)中转换降序对象
- 当编码的值是嵌套数组(tebazil)时,错误#5925:ArrayHelper :: htmlEncode()无法正常工作
- Bug#5962:DateValidator在Windows上使用ICU格式对无效日期发出警告,Yii现在可以解决此PHP错误(cebe)
- 错误#5997:同一封邮件可能会导出两次以记录目标(klimov-paul)
- Bug#6018:当通过yii widgets ActiveRecord :: errorOptions设置编码选项时,它的工作原理(stanishevsky,qiangxue)
- 当表不存在时,Oracle的错误#6049:yii db Connection :: getSchema()应该返回false。 Oracle不支持ON UPDATE子句。 (wenbin1989)
- 错误#6081:yii rbac DbManager :: getChildren()没有正确引用列名称(wenbin1989)
- 错误#6107:yii在多个类别(samdark)的情况下,会将.po中的现有翻译清空。
- 错误#6112:yii消息在多个类别(samdark)的情况下不正确地在.po中写入尚未翻译的字符串
- 错误#6172:yii rbac DbManager应正确引用表和列名称(qiangxue)
- 错误#6164:添加了对yii db Expression缺少的支持,并向QueryBuilder提供BETWEEN和LIKE条件(cebe)
- 错误#6236:当yii widgets ActiveForm :: enableClientScript为false(qiangxue)时,不应注册JS脚本
- 错误#6150:yii bootstrap Tabs下拉列表ID不正确(samdark)
- 错误#6266:使用ActiveForm(InteLigent,qiangxue)时,点击重置按钮不会隐藏错误摘要
- 错误#6271:当使用不同的提取模式(grachov)运行相同的SQL时,查询缓存会返回相同的数据
- 错误#6279:yii db Schema :: getLastInsertID()将错误的默认模式名称传递给PDO(samdark)
- 错误#6305:yii i18n Formatter :: asParagraphs()不是可识别unicode的(samdark)
- Bug#6311:ActiveRecord的乐观锁未按预期工作(qiangxue)
- Bug#6367:添加了yii gii generators crud Generator以支持为生成的CRUD控制器(qiangxue)自定义视图路径
- Bug#6381:如果浏览器不支持,则应禁用客户端文件验证(Skysplit)
- 错误:Gii控制台命令帮助信息不包含全局选项(qiangxue)
- 错误:yii web UrlRule无法为包含unicode字符(samdark)的规则创建网址
- 错误:yii web AssetManager不应发布已停用的资产包(qiangxue)
- Enh#608:添加了yii web AssetConverter :: $ forceConvert(klimov-paul)
- Enh#4146:添加了yii bootstrap ButtonDropdown :: $ containerOptions(samdark)
- Enh#4181:添加了yii bootstrap Modal :: $ headerOptions和yii bootstrap Modal :: $ footerOptions(tuxoff,samdark)
- Enh#4263:为yii log DbTarget(samdark)添加了迁移和SQL模式文件
- Enh#4395:向yii web Response :: redirect()添加了$ checkAjax参数,以支持AJAX / PJAX请求(qiangxue)的默认重定向行为
- Enh#4450:添加了yii bootstrap Nav :: renderDropdown()(qiangxue)
- Enh#4457:增加了对通过资产捆绑和Html帮助程序(samdark)注册的css文件使用noscript的支持
- Enh#4492:支持QueryBuilder :: alterColumn()(qiangxue)的PostgreSQL特定语法
- Enh#4643:yii widgets Breadcrumbs :: links中指定的额外选项将被视为生成的超链接(qiangxue)的HTML属性
- Enh#4739:当响应格式设置为“raw”时,更好地显示异常格式(qiangxue)
- Enh#4791:为控制台命令添加了控制台输出支持和更多颜色(6pblcb,samdark,klimov-paul,Ragazzo)
- Enh#5005:增加了支持,以阻止在AJAX响应中加载相同的CSS文件(tof06,qiangxue)
- Enh#5223:查询生成工具现在支持将子查询选为列(qiangxue)
- Enh#5367:添加了yii grid DataColumn :: encodeLabel(SDKiller)
- Enh#5480:向yii web User :: getIdentity()添加防御代码,以避免潜在的无限递归(qiangxue)
- Enh#5494:添加了在yii bootstrap Dropdown(hiltonjanfield,qiangxue)中将菜单标题指定为配置数组的支持
- Enh#5503:添加对DateTimeImmutable对Formatter(olegtsvetkov,cebe)的支持
- Enh#5587:json_encode现在与JSON_UNESCAPED_SLASHES一起使用| JSON_UNESCAPED_UNICODE,它是有意义的,也是现在默认为Json :: encode()(samdark)
- Enh#5600:允许在yii debug Module :: panels中配置调试面板作为面板类名称字符串(qiangxue)
- Enh#5613:添加--overwrite选项到Gii控制台命令以支持覆盖所有文件(motin,qiangxue)
- Enh#5627:添加了yii cache / flush-schema控制台命令以刷新给定数据库连接的数据库模式高速缓存(6pblcb,samdark)
- Enh#5646:直接调用yii base ErrorHandler :: unregister(),而不是直接还原_ * _处理程序(aivus)
- Enh#5683:添加了yii i18n Formatter :: defaultTimeZone,用于指定用于存储在数据库(cebe)中的datetime值的默认时区
- Enh#5688:向Model :: loadMultiple()添加可选的$ formName以支持直接定制表单名称(qiangxue)
- Enh#5735:添加了yii bootstrap Tabs :: renderTabContent以支持手动呈现标签内容(RomeroMsk)
- Enh#5770:为ErrorException(mongosoft) 添加了更多PHP错误名称
- Enh#5799:yii bootstrap ButtonGroup ::按钮可以使用yii bootstrap Button(aleksanderd)支持的所有选项
- Enh#5806:允许在应用程序未启动时使用Html :: encode()(qiangxue)
- Enh#5954:yii message命令现在显示用户友好的错误,如果它无法解析源文件(samdark)
- Enh#5983:添加了Inflector :: sentence()(pana1990,qiangxue)
- Enh#6113:改进了调试器配置和请求界面(schmunk42)
- Enh#6207:新增了使用StringHelper :: truncate()和StringHelper :: truncateWords()(Alex-Code)截断HTML字符串的支持
- Enh#6318:当某些选项值为空(qiangxue)时,允许窗口小部件更容错和用户友好
- Enh:Console :: confirm()现在使用Console :: stdout()而不是echo与所有其他功能(cebe)保持一致
- Enh:yii rbac DbManager迁移现在使用在组件设置中指定的数据库组件,而不是始终使用默认数据库(samdark)
- Enh:添加了yii base Controller :: renderContent()(qiangxue)
- Enh:yii fixture命令现在提供帮助,如果没有提供参数,而不是崩溃(samdark)
- Chg#3630:yii db Command :: queryInternal()现在受到保护(samdark)
- Chg#4277:yii grid 当结果为空且列未定义(samdark)时,GridView不再抛出异常
- Chg#5508:删除了fixture命令(qiangxue)的--append选项的支持
- Chg#5874:将Twitter Bootstrap升级到3.3.x(samdark)
- Apidoc Extension(yii2-apidoc):
- Bug#5623:修复了当类包含没有参数的setter时的崩溃问题。 setXyz()(cebe)
- 错误#5899:错误类列为definedBy参考的属性(cebe)
- 错误:指南和API渲染器现在可使用相对路径/网址(cebe)
- Enh:指南生成器现在跳过图片目录,如果它不存在,而不是引发错误(cebe)
- Enh:Made --guidePrefix选项可用作命令行选项(cebe)
- Authclient Extension(yii2-authclient)
- 错误#6000:固定CCS for yii authclient widgets AuthChoice不会加载,如果popupMode禁用(klimov-paul)
- Bootstrap Extension(yii2-bootstrap):
- 错误#5570:yii bootstrap Tabs会在其中一个项目(RomeroMsk)未设置内容时抛出异常
- 错误#6150:yii bootstrap Tabs下拉列表ID不正确(samdark)
- Enh#4146:添加了yii bootstrap ButtonDropdown :: $ containerOptions(samdark)
- Enh#4181:添加了yii bootstrap Modal :: $ headerOptions和yii bootstrap Modal :: $ footerOptions(tuxoff,samdark)
- Enh#4450:添加了yii bootstrap Nav :: renderDropdown()(qiangxue)
- Enh#5494:添加了在yii bootstrap Dropdown(hiltonjanfield,qiangxue)中将菜单标题指定为配置数组的支持
- Enh#5735:添加了yii bootstrap Tabs :: renderTabContent以支持手动呈现标签内容(RomeroMsk)
- Enh#5799:yii bootstrap ButtonGroup ::按钮可以使用yii bootstrap Button(aleksanderd)支持的所有选项
- Chg#5874:将Twitter Bootstrap升级到3.3.x(samdark)
- 调试扩展(yii2-debug):
- 错误#5402:在资产类别(samdark)中有闭包时,调试程序未加载
- 错误#5745:当路径包含破折号(qiangxue)时,Gii和调试模块可能会导致404异常
- Enh#5600:允许在yii debug Module :: panels中配置调试面板作为面板类名称字符串(qiangxue)
- Enh#6113:改进了配置和请求界面(schmunk42)
- Enh:使DefaultController :: getManifest()对损坏的文件(cebe)更加鲁棒
- 弹性搜索扩展程序(yii2-elasticsearch):
- Bug#5662:Elasticsearch AR updateCounters()现在使用显式groovy脚本进行更新,使其与ES> 1.3.0(cebe)兼容
- Bug#6065:ActiveRecord :: unlink()在通过数组值属性(cebe)处理关系时失败了
- Enh#5758:允许将自定义选项传递给ActiveRecord :: update()和:: delete(),包括支持使用父关系(cebe)更新记录所需的路由
- Enh:添加对乐观锁定(cebe)的支持
- Gii Extension(yii2-gii):
- 错误#5070:Gii控制器生成器应使用控制器类名称而不是控制器ID来指定新控制器(qiangxue)
- 错误#5745:当路径包含破折号(qiangxue)时,Gii和调试模块可能会导致404异常
- Bug#6367:添加了yii gii generators crud Generator以支持为生成的CRUD控制器(qiangxue)自定义视图路径
- 错误:Gii控制台命令帮助信息不包含全局选项(qiangxue)
- Enh#5613:添加--overwrite选项到Gii控制台命令以支持覆盖所有文件(motin,qiangxue)
- Mongodb Extension(yii2-mongodb):
- Bug#6026:Fixed yii mongodb ActiveRecord将空值保存为_id,如果属性为空(klimov-paul)
- Enh#3855:添加了MongoDB的调试工具栏面板(klimov-paul)
- Enh#5592:在yii mongodb Query和yii mongodb ActiveQuery(klimov-paul)添加了对'findAndModify'操作的支持
- Redis扩展程序(yii2-redis):
- 错误#4745:redis客户端忽略了简单字符串返回的值,而是返回true,现在只有OK将返回true,而所有其他值返回为(cebe)
- Enh#3714:添加了使用unix套接字连接到redis服务器的支持(savvot,robregonm)
- Smarty分机(yii2-smarty):
- Bug#5748:{path is generated absolute URLs instead of relative ones(samdark,motzel)
- Sphinx Extension(yii2-sphinx):
- 错误#5601:Query :: where()和ActiveQuery :: where()中的简单条件不允许将yii db Expression用作值(cebe,stevekr)
- 错误#5634:已修复yii sphinx QueryBuilder不支持其中规范(klimov-paul) 中的比较运算符(>,=
- 错误#6164:添加了对yii db Exression到QueryBuilder LIKE条件(cebe)的缺少支持
- Enh#5223:查询生成工具现在支持将子查询选为列(qiangxue)
- 在此版本中,我们修复了超过80个错误。 并引入了60多个次要增强和功能。我们添加了CPasswordHelper,提供安全和最新的方式来存储和验证密码散列;我们添加了CRedisCache来支持使用Redis进行缓存;并且Yii现在可以安装为Composer软件包。
- 此版本主要修正先前版本中发现的BC破解问题。
- 包含约20个错误修正,小功能和增强功能。
- 已修正错误:
- #098:使用Active Record和mssql(c-schmitz)时不会返回正确的标识值
- #114:CUniqueValidator和CExistValidator现在在创建数据库查询条件(klimov-paul)时尊重表别名
- #145:CGettextMoFile现在可以解析没有上下文的字符串(eagleoneraptor)
- #148:修复了博客演示中没有在第一页(mdomba)上删除权利评论的错误
- #161:CCookieCollection :: remove()现在接受一个cookie选项数组作为第二个参数,以便于正确删除cookie(maximcherny)
- #164:CEmailValidator.checkPort现在检查列出的MX服务器(DaSourcerer)的端口25
- #178:使用相对路径(如../)创建的webapp无法正常工作(cebe)
- #193:将postgresql的datetime列类型从“time”更改为“timestamp”(cebe)
- #238:修复了当没有数据(mdomba)时,可以在CGridView中选择空行的问题
- #295:有时CJSON :: decode返回null,因为本机json_encode具有错误并返回null。当json_decode的结果为null(luislobo) 时继续解码的解决方法
- #381:修复了使用自动完成功能(mdomba)时Gii模型名称输入可能会拼写错误
- #417:CAttributeCollections :: mergeWith()不考虑caseSensitive(dmtrs)
- #433:修复了Gii模型名称输入自动完成有时无法工作的错误(mdomba)
- #449:CDbHttpSession和CDbLogRoute现在使用查询构建器而不是DAO进行正确的引用(mdomba,redguy)
- #454:删除CDbConnection异常的翻译,因为它创建了一个无限循环,如果应用程序使用CDbCache(mdomba)
- #517:未正确检查规则参数子模式(ranvis)
- #539:修复CUrlRule :: createUrl()以将子模式作为parseUrl()所用的Unicode来处理(ranvis)
- #553:使用关系范围(marcovtwout)执行查找后,相关AR查找工具的条件受到影响
- #618:固定缓存CWebUser :: checkAccess()当它第一次调用第二次没有$ params(cebe)
- #660:修正调用CDbCache :: getValues(zilles)时发生的错误
- #697:修复了WSDLGenerator现在为某些complexTypes(BBoom)生成正确的命名空间
- #749:对于新记录,CActiveRecord :: refresh()在afterSave()中无效,现在将在数据库条目存在(cebe)时始终刷新
- #769:修复了如果使用自定义CGridView ::模板(mdomba),$ .fn.yiiGridView.getSelection不能始终工作的错误
- #772:CHttpRequest :: getIsSecureConnection()在某些情况下失败(bulletbee,samdark)
- #773:现在,CGridView过滤器会在Internet Explorer(BBoom)中按Enter键进行过滤
- #803:CDataColumn标题中的任意非排序链接无法正常工作(resurtm)
- #827:解决了CJuiSliderInput正在渲染div元素(mdomba)的名称属性的问题
- #842:如果列的默认值为(NULL)(c-schmitz),则活动记录在MSSQL中插入失败
- #852:修复了使用ajax提交(mdomba)时CActiveForm未重新验证字段的问题
- #859:修正CSort :: applyOrder()和CSort :: getOrderBy()以使用自订表别名(troch,samdark)
- #865:CLogRoute称为processLogs(),即使日志数组为空,并导致空电子邮件和日志文件(cebe)
- #879:修复了由CWebUser :: restoreFromCookie()与CHttpRequest.enableCookieValidation(kidol)结合而导致的可能的PHP错误
- #901:修正了例外(mdomba,samdark,cebe)可能出现的编码问题
- #1000:在CDbCommand :: execute()中添加params到分析令牌以与CDbCommand :: queryInternal()(cebe)
- #1045:构建以空数组为参数的查询不会再导致损坏的sql字符串(suralc)
- 修正CMenu :: isItemActive()以便在项目的网址(SlKelevro)中存在哈希时正常工作
- 向CAuthItem-> revoke()(mdomba)添加了缺少的返回语句
- CHtml :: resolveValue()忽略$ attribute参数开头的数组元素访问器现在可以正常工作(resurtm)
- 增强功能:
- #120:添加了在基于对象的样式中设置Cookie而无需指定Cookie名称两次(suralc)的功能
- #136:添加了在Gii模型生成器(samdark)中选择数据库连接的功能
- #157:添加了在CHtml :: resolveValue(samdark)中使用实现ArrayAccess作为属性的对象的模型的功能
- #165:允许CCacheDependency可跨多个缓存调用重用(phpnode)
- #171:在POST正文(musterknabe)中通过名为_method的参数添加了通过POST隧道传送的PUT和DELETE请求支持
- #179:CLogger现在支持通过多个通配符类别过滤配置文件计时(intel352)
- #191:添加了通过其公共属性(mashingan)自定义CLinkPager的HTML类的功能
- #206:添加了将关键参数(samdark)传递给CDbCriteria对象的功能
- #215:添加了令牌到CGridView :: updateSelectors以允许添加自定义选择器,而不是仅替换(mdomba)
- #220:在CGoogleApi中指向Google API的网址现在是协议相关(估算)
- #237:CTabView的标签现在支持属性“visible”(DaSourcerer)
- #255:当元素为CActiveDataProvider或其他对象(rusmaxim)时,对CArrayDataProvider进行排序
- #266:将HTML5网址,电子邮件,数字,范围和日期字段的支持添加到CHtml(gregmolnar)
- #267:CDbHttpSession现在可以存储二进制有效负载,如igbinary串行器(DaSourcerer,samdark)的输出
- #282:添加了CCheckBoxColumn :: headerTemplate以允许自定义标题(mdomba)
- #286:为CDateTimeParser(cebe)添加了通配符令牌
- #294:将deniedCallback添加到CAccessControlFilter和CAccessRule,以允许对拒绝(luislobo)上的方法进行转发控制
- #342:添加了从CAccessControlFilter配置(claudejanz,samdark)传递RBAC bizRules参数的能力
- #356:通过添加renderItem()(cebe)方法来提高CDetailView的可扩展性
- #369:向CCache(kidol)添加了$ hashKey
- #414:向yiic消息命令添加了排序参数,以便在合并(ranvis)时按键排序消息
- #455:在CConsoleCommand :: prompt(eagleoneraptor)中添加了对默认值的支持
- #551:为CJavaScript :: encode添加了$ safe参数。如果设置为true,将不允许使用“js:”。如果您需要传递JavaScript,请使用CJavaScriptExpression(samdark) 包装您的代码
- #552:通过CHttpCacheFilter(DaSourcerer)添加了对http级缓存的支持
- #568:CHtml :: getIdByName()现在会将空格转换为下划线,以便为HTML元素(mdomba)获取正确的ID
- #578:向CMemCache(samdark)添加扩展程序检查
- #581:在CFormatter中添加formatSize方法将文件大小格式化为不同顺序的单位 - KB,MB等(brilyuhns,samdark)
- #584:重构WebAppCommand以更可自定义,添加更多PHPDoc(samdark)
- #599:自动加载类(qiangxue)时添加了区分大小写检查
- #601:将方法loginRequired()添加到IWebUser界面(mdomba)
- #616:CVarDumper现在是正确的高整数数组键(vernes,samdark)
- #641:增加了对自定义缓存组件序列化方法(DaSourcerer,Qiang)的支持
- #648:为CGridColumn组件(juban)添加了filterHtmlOptions属性
- #652:将命名空间添加到yiiGridView事件中,因此可以通过.off()jQuery方法(Bethrezen)轻松删除
- #673:将CClientScript ::脚本更改为公开(mdomba)
- #675:如果参数$ time为null(mdomba),CDateFormat :: format()现在返回null
- #690:在SiteController-> actionContact()(mdomba)中发送电子邮件时,添加了发件人名称和适当的标头以用于UTF8编码
- #766:在CDbAuthManager :: checkAccess()和CPhpAuthManager :: checkAccess()(cebe)中为$ params添加了'userId'
- #666:向CValidator添加了属性$ except,验证器不应应用于的场景列表(resurtm)
- #839:CListView :: renderItems现在只解析一次视图文件(nizsheanez)
- #938:CFileValidator :: sizeToBytes()现在是公开的,可用于整个应用程序(resurtm)
- #943:CDateTimeParser现在能够解析月份的短文本表示,例如。 Jan,Jun,Aug(resurtm)
- #967:来自YII_CONSOLE_COMMANDS环境变量的命令现在总是添加到yiic控制台应用程序(schmunk)
- CFileValidator可以通过MIME类型验证上传的文件,添加$ mimeTypes和$ wrongMimeType属性(resurtm)
- 固定罗马尼亚语翻译以使用更好支持的西班牙语字符(tudorilisoi)
- 向CConsoleCommand :: confirm(musterknabe)添加了默认值
- 允许在CConsoleCommand操作(cebe)中返回整数值作为应用程序退出代码
- 向CHttpCookie添加了第三个参数,以便按数组(suralc)配置Cookie
- 添加getIsFlashRequest(),在使用CWebLogRoute和FireBug(resurtm)时正确处理Flash / Flex请求
- 添加了CBreadcrumbs :: $ activeLinkTemplate和CBreadcrumbs :: $ inactiveLinkTemplate属性,可以更改每个项目的模板(resurtm)
- 添加了完整功能的行为和事件CConsoleCommand :: onBeforeAction&CConsoleCommand :: onAfterAction(Yiivgeny)
- 使用来自Benjamin Arthur Lupton(lightglitch)的History.js v1.7.2-r2(https://github.com/balupton/history.js)为CGridView和CListView上的ajax请求添加了HTML5历史记录支持
- 更改了CldrCommand以使用中等dateTimeFormat并使用最新(6546)CLDR(tanakahisateru)更新18n数据
- 添加了CErrorHandler :: getHttpHeader()以发送正确的HTTP错误代码(pgaultier)
- CGridView,只有tbody中的行应该有悬停效果(mdomba)
- 用于控制registerScriptFile和registerScript(resurtm)的默认$ position参数的CClientScript :: $ defaultScriptFilePosition和CClientScript :: $ defaultScriptPosition
- CHttpCookie现在实现了__toString(suralc)
- 能够使用CWebModule :: controllerNamespace设置模块控制器的命名空间,使用命名空间控制器和模块的文档(samdark)
- 增加了为CHtml :: radioButtonList和CHtml :: checkBoxList()(pgaultier)设置容器的可能性
- 添加了zii romanian(ro)翻译;编辑核心邮件以包含带有变音符号(tudorilisoi)的正确罗马尼亚字符
- 添加了ILogFilter接口,作为使用CLogFilter作为实现日志过滤器(cebe)的基类的替代方法
- CAssetManager添加了$ forceCopy属性,该属性全局强制发布资产文件和目录(resurtm)
- WebAppCommand能够使用git或hg特定文件(resurtm)生成新应用程序
- Gii默认模板:添加了传入视图的其他元数据(PHPDoc),以便更好地自动完成IDE(resurtm)
- WebAppCommand生成的应用程序:为传递到视图中的变量添加了额外的元数据(PHPDoc),以便更好地自动完成IDE(resurtm)
- #1053:CComponent :: evaluateExpression将允许使用全局函数作为回调(Ekstazi)
- 更改:
- #384:CWebUser :: changeIdentity()现在将删除旧的未使用的会话数据文件(Qiang)
- #440:将JQuery UI升级到1.8.22(samdark)
- #497:添加日志组件,并在默认控制台应用程序配置中预加载它,以正确记录错误(samdark)
- 将jQuery升级到1.7.2(samdark)
- 为CHtml(resurtm)添加了更多单元测试
- 已将升级版捆绑降价解析器升级到v1.2.5(DaSourcerer)
- 新功能:
- 添加了TranslationsCommand构建命令,旨在帮助翻译小组(samdark)
- 此版本主要修复了版本1.1.9中引入的CActiveForm,CJuiDatePicker和yiilite.php中的几个关键错误。
- 错误#1080:正确递归合并CDbCriteria :: with(creocoder,Sam Dark)
- Bug#1624:修正了Gii只会为具有更多FK连结的儿童(mdomba)的父项产生一个关系的错误
- Bug#1809:修复了CPgsqlSchema在某些情况(Qiang)中没有正确检测序列名称的错误
- 错误#1984:在AJAXified页面(Ekstazi,Sam Dark)上使用live()/ delegate()时,多次修复触发事件
- Bug#2026:修正了迁移命令不遵守connectionID属性值(Qiang)的错误
- Bug#2032:修复了如果使用多次(mdomba),使用renderDynamic的beginCache的错误
- Bug#2037:修复了CGridView js在selectionChanged上的错误“sboxname未定义” (mdomba)
- Bug#2060:修复了CWebUser :: getFlashes()会在结果(Qiang)中返回计数器数组的错误
- 错误#2097:CHttpRequest :: getUrl()应与getRequestUri(Qiang)相同
- Bug#2099:修复了CDbCriteria :: mergeWith错误(creocoder,Sam Dark)
- Bug#2107:修复了没有自动增量列(Qiang)时调用CSqliteSchema :: resetSequence()可能抛出异常的错误
- Bug#2130:修正了Gii代码/ diff视图不是从顶部开始的问题(mdomba)
- Bug#2131:修复了CGridView ajax调用在离开当前页面(mdomba,Qiang)时会显示错误提示的错误
- Bug#2136:CGridView过滤器现在使用jQuery serialize()而不是param(),以便可以将复选框用作过滤器(mdomba)
- Bug#2140:修复了CGridView甚至在Firefox和Chrome(mdomba)中无法正确呈现的行的问题
- 错误#2146:修复了没有正确找到文件扩展名(mdomba)的CFileHelper :: getExtension,validatePath和getMimeTypeByExtension中的错误
- Bug#2169:修复了在MigrateCommand(Qiang)中某些列未正确引用的错误
- Bug#2178:修复了在使用表别名(Qiang)时,查询生成器无法识别AS关键字的错误
- Bug#2183:修正调用CActiveDataProvider :: getTotalItemCount()显式地使应用的范围消失(Qiang)的错误
- Bug#2188:STAT关系(creocoder,Sam Dark)现在遵守默认范围内的“join”
- Bug#2202:修复了设置CJuiDatePicker.flag = true,日期选择器不会显示(Qiang)的错误
- Bug#2214:修复了MSSQL的renameColumn无法正常工作的错误(Qiang)
- Bug:修复了调用堆栈中的方法具有非常复杂的签名(Qiang)时异常视图中可能会发生PHP通知的错误
- 错误:修正更新非cgridview元素(mdomba)时CGridview中断的错误
- Bug:修复了CCheckBoxColumn中的错误,“check all”复选框未被选中/未选中(如果需要)(mdomba)
- Bug:修复了CGridView中的错误,selectionChanged在“check all”时没有被调用。 (mdomba)
- Bug:修复了CDbCommand :: truncateTable(Sam Dark) 中的重置序列
- 错误:修复了CMemCache与某些pecl-memcache和memcached版本不兼容(Sam Dark)
- Enh#558,#1755:添加了参数化的命名范围,已将范围添加到条件,实施范围条件合并(creocoder,Sam Dark)
- Enh#802:添加了RESTful网址管理(强)
- Enh#923:改进了CUrlManager :: parsePathInfo()以支持多维输入数组(Qiang)
- Enh#1117:添加了对“通过”在Active Record关系中允许处理关联表数据(creocoder,Sam Dark)
- Enh#1285:添加了对使用CClientScript(Qiang) 使用自定义脚本包的支持
- Enh#1741:暴露的CActiveForm :: attributes和summaryID(Qiang)
- Enh#1770:添加了CDbColumnSchema :: autoIncrement属性,以允许检查数据库列是否是自动增量(Qiang)
- Enh#1782:为CGridView和CListView(Qiang)添加了updateSelector属性
- Enh#1786:通过添加“validSchemes”和“defaultScheme”属性(Y !!)来增强CUrlValidator
- Enh#1784:增强的CWidget :: getViewPath()以支持返回主题视图路径(Qiang)
- Enh#1792:增强的CGridView:对ajax错误,组成并显示或可选地发送到自定义错误处理程序(mdomba)的适当消息
- Enh#1795:添加了CFormInputElement :: $ enableAjaxValidation和$ enableClientValidation以允许打开/关闭各个输入字段(Qiang)的AJAX验证
- Enh#1816:将$ dumpLogs参数添加到CLogger :: flush(),以便日志消息可以被强制转储(Qiang)
- Enh#1843:为CHtml :: activeRadioButtonList和CHtml :: activeCheckBoxList添加了“uncheckValue”选项。它允许避免隐藏的场渲染(creocoder,Sam Dark)
- Enh#1847:曝光的CClientScript :: $ hasScripts(Qiang)
- Enh#1852:添加了CWebUser :: authTimeout以支持认证超时与会话超时(Qiang)之间的分隔
- Enh#1868:只有在需要时,CDbConnection才会打开数据库连接,除非将autoConnection设置为true(Qiang)
- Enh#1937:添加了对需要基于AJAX的验证(Qiang)的输入字段使用自定义输入ID的支持
- Enh#1993:允许不同数据库连接(Qiang)之间的AR关系
- Enh#1996:添加了对基于类的操作(Qiang)使用参数绑定的支持
- Enh#1999:添加CCaptchaAction :: offset属性以减少或增加验证码的可读性(Y !!)
- Enh#2011:添加了CDbCommand :: setFetchMode以允许设置PDO结果提取模式(Sam Dark)
- Enh#2013:在使用Gii创建模型时,将检查数据库字段名称是否符合PHP变量命名规则(mdomba)
- Enh#2024:添加了CHttpRequest :: getPut()和getDelete()以完全支持RESTful请求(Qiang)
- Enh#2059:增加了支持以尊重“目标”由具有“提交”的CHtml生成的元素的属性HTML选项(Qiang)
- Enh#2063:CActiveForm JavaScript现在可以正确触发checkbox和radio类型输入字段的验证(Y !!)
- Enh#2068:CTimestampBehavior :: timestampExpression现在可以是数据库表达式(Qiang)
- Enh#2093:如果filter属性是字符串(Qiang),CDataColumn现在将始终显示过滤器
- Enh#2094:在执行SQL(Qiang)时发生错误时,以调试模式添加了SQL语句显示
- Enh#2105:添加了CButtonColumn :: afterDelete,以便可以在删除函数(mdomba)后调用自定义JavaScript函数
- Enh#2108:添加了CGridView :: blankDisplay以允许自定义空白单元格显示(Qiang)
- Enh#2125:为需求检查器(Sam Dark)添加了memcached检查和提示
- Enh#2133:将默认焦点设置为Gii登录页面(Qiang) 的密码输入
- Enh#2141:允许CMenu菜单项的“label”选项可选,并使用空字符串值(Qiang)
- Enh#2142:添加了CWebUser :: autoUpdateFlash(Qiang)
- Enh#2143:向CTreeView :: data添加了htmlOptions,以便为任何树视图节点(mdomba)设置其他选项
- Enh#2172:添加了CDbMigration :: execute()(Qiang)
- Enh#2179:添加了CMultiFileUpload ::选项,以便可以将其他选项传递到多文件对象(mdomba)的构造函数
- Enh#2185:在为CGridView(Qiang)指定列时,允许列类型为可选
- Enh#2197:为CDbCriteria :: compare()(Qiang)添加了$ escape参数
- Enh#2198:改进了CJuiTabs,以便跳过标签内容(Qiang)
- Enh#2199:添加了CListView :: separator(Qiang)
- Enh#2206:向CModel :: validate()(Qiang)添加了$ clearErrors参数
- Enh#2209:添加CDbConnection :: setAttributes()和getAttributes()以支持使用PDO属性(Qiang)初始化数据库连接
- Enh#2226:在CBaseListView.enablePagination设置为false(Qiang)时向summaryText添加更多令牌
- Enh#2227:暴露的CActiveRecord :: query()(Qiang)
- Enh:添加了CGridView :: ajaxUpdateError,可能使用自定义的ajax错误处理程序(mdomba)
- Enh:允许使用CController代替带有webapp生成应用程序的Controller(Sam Dark)
- Enh:添加了在不获取相关模型(creocoder,Sam Dark)的情况下执行关系查询的功能
- Enh:错误页现在在参数列表(Sam Dark)中显示关联数组键
- Enh:添加了CController :: getActionParams()和invalidActionParams()以允许自定义操作参数绑定功能(Qiang)
- Enh:添加了CEvent :: $ params(Qiang)
- Enh:如果mb_strlen可用(Sam Dark),CStringValidator现在会默认使用应用程序字符集
- Chg#2001:CGridView现在会在正文内容(Qiang)后面显示页脚
- Chg#2111:即使isNewRecord为true(qiang),调用CActiveRecord :: getRelated($ name,true)也将重做数据库查询
- Chg#2144:将jQuery UI升级为版本1.8.11(Sam Dark)
- Chg#2148:将jQuery升级到版本1.5.1(Sam Dark)
- Chg#2163:CConsoleCommand :: usageError()现在将退出并显示错误代码1(Qiang)
- Chg:jQuery UI现在使用缩小的CSS(Sam Dark)
- Chg:移除了jQuery维度插件,因为它在jQuery核心(Sam Dark)
- Chg:将bgiframe升级为2.1.2(Sam Dark)
- 新增#1763:增加了对使用CActiveForm(Qiang,hightman)执行无缝客户端数据验证的支持
- 新增#2069:添加了CDateValidator(强)
- 新增:新增支援查询快取(Qiang)
- 新增:添加了立陶宛语翻译(tomas.valacka)
- 添加了一个SQL查询构建器
- 已实施数据库迁移支持
- 增强了对使用复数形式的支持,并将CLDR i18n数据升级到版本1.9
- 改进了Web模式下的异常显示和控制台模式下的错误显示
- 添加了对在控制台命令中使用匿名参数和全局选项的支持
- 添加了对使用X-Sendfile发送文件的支持
- 此版本包含超过80个修补程序和功能增强功能。 。
- 支持在控制台命令中使用操作,它们使用命令行选项作为操作的参数。
- 支持由窗口小部件呈现的主题视图。
- 支持导入和自动加载利用命名空间的PHP 5.3类。
- 支持返回按指定属性索引的ActiveRecord结果。
- 在此版本中,添加了60多个错误修复和功能增强。
- 一些重要的增强功能包括从$ _GET添加对自动操作参数绑定的支持;添加CSqlDataProvider和CArrayDataProvider;添加CUrlManager :: addRules()以支持动态添加URL路由规则;和重构CActiveRecord,以便CActiveRecord :: with()总是返回AR对象本身。
版本1.1.12中的新功能:
版本1.1.11中的新功能:
什么是新:版本1.1.10:
版本1.1.7中的新功能:
什么是新:版本1.1.6:
什么是新:版本1.1.4:
评论没有发现