Yii 是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。它将 Web 编程中的可重用性发挥到极致,能够显著加速开发进程。Yii(读作“易”)代表简单(easy)、高效(efficient)、可扩展(extensible)。
Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。
Yii一开始就精心设计,以适应复杂的WEB应用开发。他不是一些项目的副产品或者第三方集成。而是融合了作者丰富的 Web 应用开发经验和其它热门 Web 框架和应用的优秀思想的结晶。
最后,但并非不重要,Yii是免费的,Yii遵循最新的BSD许可。它确保了它的第三方可发也循序和BSD相兼容的许可。这意味着无论从法律上还是财务上来说,您都可以自由的使用yii来开发任何一个开源的或者私有的应用。
Yii Framework Version 1.1.7更新日志:
- Bug #1080: Correct recursive merging for CDbCriteria::with (creocoder, Sam Dark)
- Bug #1624: Fixed the bug that Gii would generate only one relation for a parent that has a child with more FK linking to it (mdomba)
- Bug #1809: Fixed the bug that CPgsqlSchema did not detect sequence names correctly in some scenarios (Qiang)
- Bug #1984: Fixed firing event multiple times when using live()/delegate() on AJAXified pages (Ekstazi, Sam Dark)
- Bug #2026: Fixed the bug that migration command does not respect the connectionID property value (Qiang)
- Bug #2032: Fixed the bug that beginCache with renderDynamic was not working if used multiple times (mdomba)
- Bug #2037: Fixed CGridView js bug on selectionChanged "sboxname is undefined" (mdomba)
- Bug #2060: Fixed the bug that CWebUser::getFlashes() would return a counter array in the result (Qiang)
- Bug #2097: CHttpRequest::getUrl() should be the same as getRequestUri (Qiang)
- Bug #2099: Fixed CDbCriteria::mergeWith error (creocoder, Sam Dark)
- Bug #2107: Fixed the bug that calling CSqliteSchema::resetSequence() may throw exception when no autoincrement column (Qiang)
- Bug #2130: Fixed bug that Gii code/diff view was not starting from top (mdomba)
- Bug #2131: Fixed the bug that CGridView ajax calls would sometime display error alert when leaving the current page (mdomba,Qiang)
- Bug #2136: CGridView filter now uses jQuery serialize() instead of param() so that a checkbox can be used as a filter (mdomba)
- Bug #2140: Fixed the problem that CGridView even rows where not properly rendered in Firefox and Chrome (mdomba)
- Bug #2146: Fixed the bug in CFileHelper::getExtension, validatePath and getMimeTypeByExtension that was not finding the file extension correctly (mdomba)
- Bug #2169: Fixed the bug that some columns are not properly quoted in MigrateCommand (Qiang)
- Bug #2178: Fixed the bug that query builder did not recognize the AS keyword when using table alias (Qiang)
- Bug #2183: Fixed the bug that calling CActiveDataProvider::getTotalItemCount() explicitly would make the applied scopes disappear (Qiang)
- Bug #2188: 'join' in default scopes is now respected by STAT relations (creocoder, Sam Dark)
- Bug #2202: Fixed the bug that when setting CJuiDatePicker.flag=true, the date picker would not appear (Qiang)
- Bug #2214: Fixed the bug that renameColumn for MSSQL did not work correctly (Qiang)
- Bug: Fixed the bug that a PHP notice may occur in exception view if a method in the call stack has a very complex signature (Qiang)
- Bug: Fixed error that CGridview breaks when updating non-cgridview elements (mdomba)
- Bug: Fixed the bug in CCheckBoxColumn, "check all" checkbox was not being checked/unchecked when needed (mdomba)
- Bug: Fixed the bug in CGridView, selectionChanged was not called when "check all" was clicked (mdomba)
- Bug: Fixed resetting sequence in CDbCommand::truncateTable (Sam Dark)
- Bug: Fixed CMemCache incompatibility with some pecl-memcache and memcached versions (Sam Dark)
- Enh #558, #1755: Added parametrized named scopes, added scopes to criteria, implemented scope criteria merging (creocoder, Sam Dark)
- Enh #802: Added RESTful URL management (Qiang)
- Enh #923: Improved CUrlManager::parsePathInfo() to support multi-dimensional input arrays (Qiang)
- Enh #1117: Added support for "through" in Active Record relations allowing to handle association table data (creocoder, Sam Dark)
- Enh #1285: Added support for using custom script packages with CClientScript (Qiang)
- Enh #1741: Exposed CActiveForm::attributes and summaryID (Qiang)
- Enh #1770: Added CDbColumnSchema::autoIncrement property to allow checking whether a DB column is auto-incremental (Qiang)
- Enh #1782: Added updateSelector property to both CGridView and CListView (Qiang)
- Enh #1786: Enhanced CUrlValidator by adding 'validSchemes' and 'defaultScheme' property (Y!!)
- Enh #1784: Enhanced CWidget::getViewPath() to support returning themed view path (Qiang)
- Enh #1792: Enhanced CGridView: on ajax error a proper message is composed and displayed or optionally sent to the custom error handler (mdomba)
- Enh #1795: Added CFormInputElement::$enableAjaxValidation and $enableClientValidation to allow turning on/off AJAX validation for individual input fields (Qiang)
- Enh #1816: Added $dumpLogs parameter to CLogger::flush() so that log messages can be forced to be dumped at will (Qiang)
- Enh #1843: Added 'uncheckValue' option to CHtml::activeRadioButtonList and CHtml::activeCheckBoxList. It allows to avoid hidden field rendering (creocoder, Sam Dark)
- Enh #1847: Exposed CClientScript::$hasScripts (Qiang)
- Enh #1852: Added CWebUser::authTimeout to support separation between authentication timeout and session timeout (Qiang)
- Enh #1868: CDbConnection will now open a DB connection only when needed, unless autoConnection is set true (Qiang)
- Enh #1937: Added support to use custom input ID for input fields that need AJAX-based validation (Qiang)
- Enh #1993: Allow AR relations across separate db connections (Qiang)
- Enh #1996: Added support for using parameter binding with class-based actions (Qiang)
- Enh #1999: Added CCaptchaAction::offset property in order to decrease or increase the readability of the captcha (Y!!)
- Enh #2011: Added CDbCommand::setFetchMode to allow setting PDO result fetching mode (Sam Dark)
- Enh #2013: When creating model with Gii, database field names will be checked to conform with PHP variable naming rules (mdomba)
- Enh #2024: Added CHttpRequest::getPut() and getDelete() to fully support RESTful requests (Qiang)
- Enh #2059: Added support to respect the "target" attribute of an element generated by CHtml with "submit" HTML options (Qiang)
- Enh #2063: The CActiveForm JavaScript should now correctly trigger validaton for checkbox and radio type input fields (Y!!)
- Enh #2068: CTimestampBehavior::timestampExpression can now be a DB expression (Qiang)
- Enh #2093: CDataColumn will now always render a filter if the filter property is a string (Qiang)
- Enh #2094: Added SQL statement display in debug mode when an error occurs while executing a SQL (Qiang)
- Enh #2105: Added CButtonColumn::afterDelete so that a custom javascript function can be called after the delete function (mdomba)
- Enh #2108: Added CGridView::blankDisplay to allow customizing blank cell display (Qiang)
- Enh #2125: Added memcached check and hint to requirements checker (Sam Dark)
- Enh #2133: Set default focus to the password input for Gii login page (Qiang)
- Enh #2141: Allow the 'label' option of CMenu menu items to be optional and take an empty string value (Qiang)
- Enh #2142: Added CWebUser::autoUpdateFlash (Qiang)
- Enh #2143: Added htmlOptions to CTreeView::data so that additional options can be set for any tree view node (mdomba)
- Enh #2172: Added CDbMigration::execute() (Qiang)
- Enh #2179: Added CMultiFileUpload::options so that additional options can be passed to the constructor of the multifile object (mdomba)
- Enh #2185: Allow the column type to be optional when specifying columns for CGridView (Qiang)
- Enh #2197: Added $escape parameter to CDbCriteria::compare() (Qiang)
- Enh #2198: Improved CJuiTabs so that the tab content can be skipped (Qiang)
- Enh #2199: Added CListView::separator (Qiang)
- Enh #2206: Added $clearErrors parameter to CModel::validate() (Qiang)
- Enh #2209: Added CDbConnection::setAttributes() and getAttributes() to support initializing DB connection with PDO attributes (Qiang)
- Enh #2226: Added more tokens to summaryText when CBaseListView.enablePagination is set false (Qiang)
- Enh #2227: Exposed CActiveRecord::query() (Qiang)
- Enh: Added CGridView::ajaxUpdateError for the possibility to use a custom ajax error handler (mdomba)
- Enh: Allowed using CController instead of Controller with webapp generated application (Sam Dark)
- Enh: Added ability to perform Relational query without getting related models (creocoder, Sam Dark)
- Enh: Error page now displays associative array keys in parameter list (Sam Dark)
- Enh: Added CController::getActionParams() and invalidActionParams() to allow customizing action parameter binding feature (Qiang)
- Enh: Added CEvent::$params (Qiang)
- Enh: CStringValidator now uses application charset by default if mb_strlen is available (Sam Dark)
- Chg #2001: CGridView now renders footer after the body content (Qiang)
- Chg #2111: Calling CActiveRecord::getRelated($name, true) now will redo the DB query even if isNewRecord is true (qiang)
- Chg #2144: Upgraded jQuery UI to version 1.8.11 (Sam Dark)
- Chg #2148: Upgraded jQuery to version 1.5.1 (Sam Dark)
- Chg #2163: CConsoleCommand::usageError() will now exit with error code 1 (Qiang)
- Chg: jQuery UI now uses minified CSS (Sam Dark)
- Chg: Removed jQuery dimensions plugin since it's in jQuery core (Sam Dark)
- Chg: Upgraded bgiframe to 2.1.2 (Sam Dark)
- New #1763: Added support for performing seamless client-side data validation using CActiveForm (Qiang, hightman)
- New #2069: Added CDateValidator (Qiang)
- New: Added support for query caching (Qiang)
- New: Added Lithuanian translations (tomas.valacka)
下载地址:http://yii.googlecode.com/files/yii-1.1.7.r3135.tar.gz