Permalink
Browse files

Merge branch 'master' of git://github.com/yiisoft/yii into 959-consol…

…e-command-map
  • Loading branch information...
2 parents 35dec3e + 83d75cb commit 78867476ce72f8d2857676fa0263bbc6e5e5f977 @resurtm resurtm committed Sep 27, 2012
Showing with 382 additions and 410 deletions.
  1. +12 −1 CHANGELOG
  2. +7 −5 docs/guide/caching.fragment.txt
  3. +8 −0 docs/guide/database.arr.txt
  4. +4 −4 docs/guide/ja/caching.fragment.txt
  5. +12 −3 docs/guide/ja/database.arr.txt
  6. +9 −10 docs/guide/pt_br/topics.auth.txt
  7. +1 −1 docs/guide/uk/basics.application.txt
  8. +1 −1 docs/guide/uk/basics.best-practices.txt
  9. +1 −1 docs/guide/uk/basics.component.txt
  10. +1 −1 docs/guide/uk/basics.controller.txt
  11. +1 −1 docs/guide/uk/basics.convention.txt
  12. +1 −1 docs/guide/uk/basics.entry.txt
  13. +1 −1 docs/guide/uk/basics.model.txt
  14. +1 −1 docs/guide/uk/basics.module.txt
  15. +1 −1 docs/guide/uk/basics.mvc.txt
  16. +1 −1 docs/guide/uk/basics.namespace.txt
  17. +1 −1 docs/guide/uk/basics.view.txt
  18. +1 −1 docs/guide/uk/basics.workflow.txt
  19. +1 −1 docs/guide/uk/caching.data.txt
  20. +1 −1 docs/guide/uk/caching.dynamic.txt
  21. +1 −1 docs/guide/uk/caching.fragment.txt
  22. +1 −1 docs/guide/uk/caching.overview.txt
  23. +1 −1 docs/guide/uk/caching.page.txt
  24. +2 −2 docs/guide/uk/changes.txt
  25. +1 −1 docs/guide/uk/database.ar.txt
  26. +17 −1 docs/guide/uk/database.arr.txt
  27. +1 −1 docs/guide/uk/database.dao.txt
  28. +1 −1 docs/guide/uk/database.migration.txt
  29. +2 −2 docs/guide/uk/database.overview.txt
  30. +13 −13 docs/guide/uk/database.query-builder.txt
  31. +1 −1 docs/guide/uk/extension.create.txt
  32. +1 −1 docs/guide/uk/extension.integration.txt
  33. +1 −1 docs/guide/uk/extension.overview.txt
  34. +1 −1 docs/guide/uk/extension.use.txt
  35. +3 −3 docs/guide/uk/form.action.txt
  36. +8 −8 docs/guide/uk/form.builder.txt
  37. +2 −2 docs/guide/uk/form.model.txt
  38. +1 −1 docs/guide/uk/form.overview.txt
  39. +2 −2 docs/guide/uk/form.table.txt
  40. +3 −3 docs/guide/uk/form.view.txt
  41. +1 −1 docs/guide/uk/index.txt
  42. +1 −1 docs/guide/uk/quickstart.apache-nginx-config.txt
  43. +1 −1 docs/guide/uk/quickstart.first-app-yiic.txt
  44. +1 −1 docs/guide/uk/quickstart.first-app.txt
  45. +1 −1 docs/guide/uk/quickstart.installation.txt
  46. +1 −1 docs/guide/uk/quickstart.what-is-yii.txt
  47. +1 −1 docs/guide/uk/test.fixture.txt
  48. +1 −1 docs/guide/uk/test.functional.txt
  49. +1 −1 docs/guide/uk/test.overview.txt
  50. +1 −1 docs/guide/uk/test.unit.txt
  51. +3 −3 docs/guide/uk/toc.txt
  52. +1 −1 docs/guide/uk/topics.auth.txt
  53. +1 −1 docs/guide/uk/topics.console.txt
  54. +1 −1 docs/guide/uk/topics.error.txt
  55. +1 −1 docs/guide/uk/topics.gii.txt
  56. +10 −9 docs/guide/uk/topics.i18n.txt
  57. +1 −1 docs/guide/uk/topics.logging.txt
  58. +1 −1 docs/guide/uk/topics.performance.txt
  59. +1 −1 docs/guide/uk/topics.prado.txt
  60. +1 −1 docs/guide/uk/topics.security.txt
  61. +1 −1 docs/guide/uk/topics.theming.txt
  62. +1 −1 docs/guide/uk/topics.url.txt
  63. +1 −1 docs/guide/uk/topics.webservice.txt
  64. +1 −1 docs/guide/uk/upgrade.txt
  65. +2 −1 framework/YiiBase.php
  66. +6 −2 framework/base/CBehavior.php
  67. +9 −6 framework/base/CModelBehavior.php
  68. +2 −2 framework/caching/CCache.php
  69. +0 −2 framework/cli/commands/MessageCommand.php
  70. +5 −5 framework/cli/commands/WebAppCommand.php
  71. 0 framework/cli/views/webapp/{protected/runtime/git.gitignore → assets/git-gitignore}
  72. 0 framework/cli/views/webapp/{themes/classic/views/system/hg.hgkeep → assets/hg-hgkeep}
  73. 0 framework/cli/views/webapp/assets/hg.hgkeep
  74. +1 −0 framework/cli/views/webapp/{hg.hgignore → hg-hgignore}
  75. 0 framework/cli/views/webapp/{themes/classic/views/system/git.gitkeep → images/git-gitkeep}
  76. 0 framework/cli/views/webapp/{themes/classic/views/site/hg.hgkeep → images/hg-hgkeep}
  77. 0 ...k/cli/views/webapp/{themes/classic/views/site/git.gitkeep → protected/commands/shell/git-gitkeep}
  78. 0 ...rk/cli/views/webapp/{themes/classic/views/layouts/hg.hgkeep → protected/commands/shell/hg-hgkeep}
  79. 0 ...rk/cli/views/webapp/{themes/classic/views/layouts/git.gitkeep → protected/extensions/git-gitkeep}
  80. 0 framework/cli/views/webapp/protected/{tests/unit/hg.hgkeep → extensions/hg-hgkeep}
  81. 0 framework/cli/views/webapp/protected/{tests/unit/git.gitkeep → messages/git-gitkeep}
  82. 0 framework/cli/views/webapp/protected/{tests/report/hg.hgkeep → messages/hg-hgkeep}
  83. 0 framework/cli/views/webapp/protected/{tests/report/git.gitkeep → migrations/git-gitkeep}
  84. 0 framework/cli/views/webapp/protected/{tests/fixtures/hg.hgkeep → migrations/hg-hgkeep}
  85. 0 framework/cli/views/webapp/{assets/git.gitignore → protected/runtime/git-gitignore}
  86. 0 framework/cli/views/webapp/protected/{tests/fixtures/git.gitkeep → runtime/hg-hgkeep}
  87. 0 framework/cli/views/webapp/protected/{runtime/hg.hgkeep → tests/fixtures/git-gitkeep}
  88. 0 framework/cli/views/webapp/protected/{migrations/hg.hgkeep → tests/fixtures/hg-hgkeep}
  89. +2 −0 framework/cli/views/webapp/protected/tests/report/git-gitignore
  90. 0 framework/cli/views/webapp/protected/{migrations/git.gitkeep → tests/report/hg-hgkeep}
  91. 0 framework/cli/views/webapp/protected/{messages/hg.hgkeep → tests/unit/git-gitkeep}
  92. 0 framework/cli/views/webapp/protected/{messages/git.gitkeep → tests/unit/hg-hgkeep}
  93. 0 ...work/cli/views/webapp/{protected/extensions/hg.hgkeep → themes/classic/views/layouts/git-gitkeep}
  94. 0 ...work/cli/views/webapp/{protected/extensions/git.gitkeep → themes/classic/views/layouts/hg-hgkeep}
  95. 0 ...ork/cli/views/webapp/{protected/commands/shell/hg.hgkeep → themes/classic/views/site/git-gitkeep}
  96. 0 ...ork/cli/views/webapp/{protected/commands/shell/git.gitkeep → themes/classic/views/site/hg-hgkeep}
  97. 0 framework/cli/views/webapp/{images/hg.hgkeep → themes/classic/views/system/git-gitkeep}
  98. 0 framework/cli/views/webapp/{images/git.gitkeep → themes/classic/views/system/hg-hgkeep}
  99. +18 −12 framework/db/ar/CActiveRecordBehavior.php
  100. 0 framework/logging/{CCombinedLogFilter.php → CChainedLogFilter.php}
  101. +5 −2 framework/logging/CWebLogRoute.php
  102. +0 −2 framework/messages/ar/zii.php
  103. +0 −2 framework/messages/bg/yii.php
  104. +0 −2 framework/messages/bg/zii.php
  105. +0 −2 framework/messages/bs/yii.php
  106. +0 −2 framework/messages/cs/size_units.php
  107. +0 −2 framework/messages/cs/yii.php
  108. +0 −2 framework/messages/cs/zii.php
  109. +0 −1 framework/messages/de/yii.php
  110. +0 −2 framework/messages/de/zii.php
  111. +0 −2 framework/messages/el/size_units.php
  112. +0 −2 framework/messages/el/yii.php
  113. +0 −2 framework/messages/el/zii.php
  114. +1 −2 framework/messages/es/yii.php
  115. +0 −1 framework/messages/es/zii.php
  116. +0 −2 framework/messages/fa_ir/yii.php
  117. +0 −2 framework/messages/fa_ir/zii.php
  118. +0 −2 framework/messages/fr/yii.php
  119. +0 −2 framework/messages/fr/zii.php
  120. +0 −3 framework/messages/he/yii.php
  121. +0 −2 framework/messages/he/zii.php
  122. +0 −2 framework/messages/hu/yii.php
  123. +0 −2 framework/messages/id/yii.php
  124. +0 −2 framework/messages/id/zii.php
  125. +0 −2 framework/messages/it/yii.php
  126. +0 −2 framework/messages/it/zii.php
  127. +0 −2 framework/messages/ja/size_units.php
  128. +0 −2 framework/messages/ja/yii.php
  129. +0 −2 framework/messages/ja/zii.php
  130. +0 −2 framework/messages/kk/size_units.php
  131. +0 −2 framework/messages/kk/yii.php
  132. +0 −2 framework/messages/kk/zii.php
  133. +0 −2 framework/messages/ko_kr/yii.php
  134. +0 −2 framework/messages/ko_kr/zii.php
  135. +0 −2 framework/messages/lt/yii.php
  136. +0 −2 framework/messages/lt/zii.php
  137. +0 −2 framework/messages/lv/yii.php
  138. +0 −2 framework/messages/lv/zii.php
  139. +0 −2 framework/messages/nl/size_units.php
  140. +0 −2 framework/messages/nl/yii.php
  141. +0 −2 framework/messages/nl/zii.php
  142. +0 −2 framework/messages/no/yii.php
  143. +0 −2 framework/messages/pl/yii.php
  144. +0 −2 framework/messages/pl/zii.php
  145. +0 −2 framework/messages/pt/yii.php
  146. +0 −2 framework/messages/pt/zii.php
  147. +0 −2 framework/messages/pt_br/yii.php
  148. +0 −2 framework/messages/pt_br/zii.php
  149. +0 −2 framework/messages/ro/yii.php
  150. +0 −2 framework/messages/ro/zii.php
  151. +0 −2 framework/messages/ru/size_units.php
  152. +0 −2 framework/messages/ru/yii.php
  153. +0 −2 framework/messages/ru/zii.php
  154. +0 −2 framework/messages/sk/size_units.php
  155. +0 −2 framework/messages/sk/yii.php
  156. +0 −2 framework/messages/sk/zii.php
  157. +0 −2 framework/messages/sr_sr/yii.php
  158. +0 −2 framework/messages/sr_sr/zii.php
  159. +0 −2 framework/messages/sr_yu/yii.php
  160. +0 −2 framework/messages/sr_yu/zii.php
  161. +0 −2 framework/messages/sv/yii.php
  162. +0 −2 framework/messages/sv/zii.php
  163. +0 −3 framework/messages/ta_in/yii.php
  164. +0 −3 framework/messages/ta_in/zii.php
  165. +0 −2 framework/messages/th/yii.php
  166. +0 −2 framework/messages/tr/yii.php
  167. +0 −2 framework/messages/tr/zii.php
  168. +0 −2 framework/messages/uk/size_units.php
  169. +0 −2 framework/messages/uk/yii.php
  170. +0 −2 framework/messages/uk/zii.php
  171. +0 −2 framework/messages/vi/yii.php
  172. +0 −2 framework/messages/vi/zii.php
  173. +0 −1 framework/messages/zh_cn/yii.php
  174. +0 −2 framework/messages/zh_cn/zii.php
  175. +0 −2 framework/messages/zh_tw/yii.php
  176. +11 −5 framework/utils/CFileHelper.php
  177. +1 −1 framework/views/ar/log-firebug.php
  178. +1 −1 framework/views/bg/log-firebug.php
  179. +1 −1 framework/views/de/log-firebug.php
  180. +1 −1 framework/views/el/log-firebug.php
  181. +1 −1 framework/views/es/log-firebug.php
  182. +1 −1 framework/views/fr/log-firebug.php
  183. +1 −1 framework/views/he/log-firebug.php
  184. +1 −1 framework/views/hr/log-firebug.php
  185. +1 −1 framework/views/id/log-firebug.php
  186. +1 −1 framework/views/it/log-firebug.php
  187. +1 −1 framework/views/ja/log-firebug.php
  188. +1 −1 framework/views/ko/log-firebug.php
  189. +1 −1 framework/views/log-firebug.php
  190. +1 −1 framework/views/lt/log-firebug.php
  191. +1 −1 framework/views/lv/log-firebug.php
  192. +1 −1 framework/views/nl/log-firebug.php
  193. +1 −1 framework/views/no/log-firebug.php
  194. +1 −1 framework/views/pl/log-firebug.php
  195. +1 −1 framework/views/pt/log-firebug.php
  196. +1 −1 framework/views/pt_br/log-firebug.php
  197. +1 −1 framework/views/ro/log-firebug.php
  198. +1 −1 framework/views/ru/log-firebug.php
  199. +1 −1 framework/views/sk/log-firebug.php
  200. +1 −1 framework/views/sv/log-firebug.php
  201. +1 −1 framework/views/uk/log-firebug.php
  202. +1 −1 framework/views/vi/log-firebug.php
  203. +1 −1 framework/views/zh_cn/log-firebug.php
  204. +1 −1 framework/views/zh_tw/log-firebug.php
  205. +39 −14 framework/web/CHttpRequest.php
  206. +1 −1 framework/web/CSort.php
  207. +1 −1 framework/web/helpers/CGoogleApi.php
  208. +23 −7 framework/web/helpers/CHtml.php
  209. +2 −2 framework/zii/widgets/assets/gridview/jquery.yiigridview.js
  210. +5 −0 framework/zii/widgets/assets/gridview/styles.css
  211. +4 −1 framework/zii/widgets/grid/CButtonColumn.php
  212. +0 −2 requirements/messages/ar/yii.php
  213. +0 −3 requirements/messages/bg/yii.php
  214. +0 −2 requirements/messages/cs/yii.php
  215. +0 −2 requirements/messages/de/yii.php
  216. +0 −2 requirements/messages/de_de/yii.php
  217. +0 −2 requirements/messages/el/yii.php
  218. +0 −2 requirements/messages/es/yii.php
  219. +0 −2 requirements/messages/fr/yii.php
  220. +0 −2 requirements/messages/he/yii.php
  221. +0 −2 requirements/messages/hu/yii.php
  222. +0 −2 requirements/messages/id/yii.php
  223. +0 −2 requirements/messages/it/yii.php
  224. +0 −2 requirements/messages/ja/yii.php
  225. +0 −2 requirements/messages/nl/yii.php
  226. +0 −2 requirements/messages/no/yii.php
  227. +0 −2 requirements/messages/pl/yii.php
  228. +0 −2 requirements/messages/pt/yii.php
  229. +0 −2 requirements/messages/pt_br/yii.php
  230. +0 −2 requirements/messages/ro/yii.php
  231. +0 −2 requirements/messages/ru/yii.php
  232. +0 −2 requirements/messages/sk/yii.php
  233. +0 −2 requirements/messages/sv/yii.php
  234. +0 −1 requirements/messages/ta_in/yii.php
  235. +0 −2 requirements/messages/uk/yii.php
  236. +0 −2 requirements/messages/vi/yii.php
  237. +0 −1 requirements/messages/zh_cn/yii.php
  238. +0 −2 requirements/messages/zh_tw/yii.php
  239. +53 −0 tests/framework/utils/CFileHelperTest.php
View
@@ -8,17 +8,24 @@ Version 1.1.13 work in progress
- Bug #112: MSSQL: database abstraction layer now uses native transaction support of the SQLSRV driver (resurtm)
- Bug #124: Added CMysqlCommandBuilder to handle JOIN directive on update commands correctly (cebe, DaSourcerer)
- Bug #126: Fixed CWebUser::getReturnUrl(), allowing to determine default URL correctly, if CUrlManager::showScriptName is set to false (klimov-paul)
+- Bug #276: Tweaked CGridView stylesheet to include a hover style for the selected row (acorncom)
- Bug #810: Gii now adds a number to the end of relation name if same named relation already exists instead of not generating relation (n30kill, samdark)
- Bug #837: Fixed method CDbCriteria::__wakeup(), allowing to keep custom names for params and update all string parts for automatic params (klimov-paul)
- Bug #959: CConsoleApplication: bug where non-lowercase keys cannot be found in $commandMap fixed (resurtm)
- Bug #962: Fixed handling of negative timestamps in CDateFormatter::format() (johnmendonca)
- Bug #1095: Added missing retry_interval parameter of addServer function call in CMemCache (Lisio)
- Bug #1181: Fixed can read but not save binary data e.g. BYTEA on PostgreSQL (karmakaze)
+- Bug #1212: Added missing .gitignore files to the application generated by WebAppCommand (resurtm)
- Bug #1249: CHttpRequest::sendFile() outputs malformed file content in some specific circumstances (andyhu)
- Bug #1330: SQLite column default value was incorrect for column of type string and DEFAULT NULL (cebe)
+- Bug #1344: Fixed URL problem in CGridView when enableHistory was true and unicode chars where used (mdomba, Redjik)
+- Bug #1347: CDbTestCase: table name in fixtures list enclosed into double curly brackets (e.g. 'tasks'=>':{{task}}') didn't worked properly (resurtm)
- Bug #1351: CClientScript::registerMetaTag() now allows to register multiple meta tags with the same set of attributes (klimov-paul)
- Bug #1364: Empty CHtml::$errorCss cause class attribute rendering errors (creocoder)
-- Bug #1347: CDbTestCase: table name in fixtures list enclosed into double curly brackets (e.g. 'tasks'=>':{{task}}') didn't worked properly (resurtm)
+- Bug #1444: Fixed CGoogleApi::register call to registerScriptFile (mdomba)
+- Bug #1465: Fixed CHtml::beginForm() when CActiveForm with method GET and ajaxButton is used (mdomba)
+- Bug #1485 CSort does not quote table alias when using CDbCriteria (undsoft)
+- Enh #104: Added CWebLogRoute::$collapsedInFireBug property to control whether the log should be collapsed by default in Firebug (marcovtwout)
- Enh #117: Added CPhpMessageSource::$extensionPaths to allow extensions, that do not have a base class to use as category prefix, to register message source (rcoelho, cebe)
- Enh #291: CFormatter::formatDate and formatDateTime now also accept strings in strtotime() format (francis_tm, cebe)
- Enh #486: CHttpSession::$gCProbability and CDbHttpSession::$gCProbability are floats now. Minimal possible $gCProbability value has been changed to the ≈0.00000005% (1/2147483647), was integer 1% before, default value left unchanged (1%) (resurtm)
@@ -38,10 +45,14 @@ Version 1.1.13 work in progress
- Enh #1369: Added CCheckBoxColumn::disabled that accepts PHP expression or anonymous function determining if checkbox for the row should be disabled (sucotronic)
- Enh #1386: Second parameter of the CHtml::value() is now able to accept anonymous function which calculates value to be used (Qiang, resurtm)
- Enh #1396: Added 'text/csv' mime-type for the 'csv' file extension in utils/mimeTypes.php (effectively used by e.g. CHttpRequest::sendFile()) (rawtaz)
+- Enh #1426: Behaviors are now affecting memory consumption significantly less (slavcodev, creocoder, Qiang, samdark)
+- Enh #1443: Added CHttpRequest::getRawBody() that allows reading RAW HTTP request body multiple times (itamar82, resurtm, samdark)
- Enh: Fixed the check for ajaxUpdate false value in jquery.yiilistview.js as that never happens (mdomba)
- Enh: Requirements checker: added check for Oracle database (pdo_oci extension) and MSSQL (pdo_dblib, pdo_sqlsrv and pdo_mssql extensions) (resurtm)
- Enh: Added CChainedLogFilter class to allow adding multiple filters to a logroute (cebe)
- Enh: Allow CDataProvider to use custom pagination and sorter (creocoder)
+- Enh: Value of the CHtml::activeTextArea() can now be set through $htmlOptions['value'] (resurtm)
+- Enh: Allow to customize CHtml::error() container tag (creocoder)
- Chg: MSSQL unit tests updated and actualized, added SQLSRV driver support (resurtm)
- Chg: Added Oracle unit tests (resurtm)
- Chg: Updated CHttpCacheFilter to use dates as specified by RFC 1123 (bramp)
@@ -159,10 +159,12 @@ post content in an outer fragment cache.
Different caching options can be set to the nested caches. For example,
the inner cache and the outer cache in the above example can be set with
-different duration values. When the data cached in the outer cache is
-invalidated, the inner cache may still provide valid inner fragment.
-However, it is not true vice versa. If the outer cache contains valid data,
-it will always provide the cached copy, even though the content in the
-inner cache already expires.
+different duration values. Even when the data cached in the outer cache is
+invalidated, the inner cache may still provide the valid inner fragment.
+However, it is not true vice versa. If the outer cache is evaluated to be valid,
+it will continue to provide the same cached copy even after the content in the
+inner cache has been invalidated.
+You must be careful in setting the durations or the dependencies of the nested caches,
+otherwise the outdated inner fragments may be kept in the outer fragment.
<div class="revision">$Id$</div>
@@ -547,6 +547,14 @@ $posts=Post::model()->findAll(array(
The above query will bring back all posts together with their approved comments. Note that `comments` refers to the relation name, while `recently` and `approved` refer to two named scopes declared in the `Comment` model class. The relation name and the named scopes should be separated by colons.
+Occasionally you may need to retrieve a scoped relationship using a lazy-loading approach, instead of the normal eager loading method shown above. In that case, the following syntax will do what you need:
+
+~~
+[php]
+// note the repetition of the relationship name, which is necessary
+$approvedComments = $post->comments('comments:approved');
+~~
+
Named scopes can also be specified in the `with` option of the relational rules declared in [CActiveRecord::relations()]. In the following example, if we access `$user->posts`, it would bring back all *approved* comments of the posts.
~~~
@@ -124,11 +124,11 @@ duration オプションを設定しない場合、この値はデフォルト
...他の HTML コンテンツ...
~~~
-ネストされたキャッシュに異なるキャッシュオプションを設定することもできます
+ネストされたキャッシュには、異なるキャッシュオプションを設定することができます
たとえば、上記の例における内側のキャッシュと外側のキャッシュに対して、異なる持続期間の値を設定する事が可能です。
-外側のキャッシュでキャッシュされたデータが無効にされる場合でも、内側のキャッシュが有効な内側の断片を提供できる可能性があります
+これによって、外側のキャッシュでキャッシュされたデータが無効にされる場合でも、内側のキャッシュが有効な内側の断片を提供することが可能になります
しかし、その逆は真ではありません。
-外側のキャッシュが有効なデータを保持している場合は、内側のキャッシュコンテンツの持続期間が終了していたとしても、外側のキャッシュは常にキャッシュされたコピーを提供します
-(訳註: ネストされたキャッシュの持続時間や依存関係の設定を間違うと、無効になった内側のキャッシュデータが外側のキャッシュに残り続けることになるので、注意が必要です。)
+外側のキャッシュが有効であると判断された場合には、内側のキャッシュが無効になった後でも、外側のキャッシュが古くなったコンテンツのコピーを提供し続けます
+ネストされたキャッシュの持続時間や依存関係の設定を間違うと、無効になった内側のキャッシュデータが外側のキャッシュに残り続けることになるので、注意が必要です。
<div class="revision">$Id$</div>
@@ -503,12 +503,21 @@ $posts=Post::model()->findAll(array(
));
~~~
-上記クエリは、全ての記事とそれらの承認済みコメントを返します。
+上記のクエリは、全ての記事とそれらの承認済みコメントを返します。
`comments` はリレーション名を、`recently` と `approved` は `Comment` モデルクラスで宣言された二つの名前付きスコープを示している事に注意してください。
リレーション名と名前付きスコープはコロンで区切ります。
-また、Named Scope は [CActiveRecord::relations()] で宣言されたリレーションルールの `with` オプション中で指定することもできます。
-以下の例で、`$user->posts` にアクセスすると、その記事の全ての **承認された (approved)** コメントを返します。
+時によっては、名前付きスコープを適用したリレーションを、上記で示されているイーガーローディングの方法ではなく、レイジーローディングの技法を使って取得する必要があるかも知れません。
+その場合には、下記の文法によって目的を達することが出来ます。
+
+~~
+[php]
+// リレーション名の繰り返しに注目して下さい。これは必要です。
+$approvedComments = $post->comments('comments:approved');
+~~
+
+また、名前付きスコープは [CActiveRecord::relations()] で宣言されたリレーションルールの `with` オプションの中で指定することもできます。
+以下の例で、`$user->posts` にアクセスすると、その記事の全ての **承認された (approved)** コメントが返されます。
~~~
[php]
@@ -353,16 +353,15 @@ Para maior flexibilidade o Yii também permite que um papel seja constituído de
outros papéis e/ou operações, uma tarefa seja constituída de outras tarefas e uma
operação seja constituída de outras operações.
-An authorization item is uniquely identified by its name.
-
-An authorization item may be associated with a *business rule*. A
-business rule is a piece of PHP code that will be executed when performing
-access checking with respect to the item. Only when the execution returns
-true, will the user be considered to have the permission represented by the
-item. For example, when defining an operation `updatePost`, we would like
-to add a business rule that checks if the user ID is the same as the post's
-author ID so that only the author himself can have the permission to update
-a post.
+Um item de autorização é identificado exclusivamente por seu nome.
+
+Um item de autorização pode ser associado a uma *business rule* (regra de negócio). Uma
+business rule é um código em PHP que vai ser executado quando ocorrer a verificação
+de acesso com respeito ao item. O usuário terá a permissão de acesso representada
+pelo item somente quando a execução retornar true. Por exemplo, ao definir uma
+operação `updatePost` (atualizarPost), nós gostaríamos de adicionar uma business
+rule que verifique se ID do usuário é o mesmo que do autor do post de modo que
+somente o próprio autor possa ter permissão de atualizar um post.
Using authorization items, we can build up an *authorization
hierarchy*. An item `A` is a parent of another item `B` in the
@@ -188,4 +188,4 @@ Yii визначає набір компонентів ядра, що надаю
7. Виклик події [onEndRequest|CApplication::onEndRequest].
-<div class="revision">$Id: basics.application.txt 3251 2011-06-01 00:24:06Z qiang.xue $</div>
+<div class="revision">$Id$</div>
@@ -134,4 +134,4 @@ MVC — **повторне використання коду та розділе
даних та бізнес-логіка, які там міститься, зазвичай доволі специфічні для конкретного
додатку. Логіка контролеру, навпаки, доволі типова та може бути винесена у базові класи.
-<div class="revision">$Id: basics.best-practices.txt 2795 2010-12-31 00:22:33Z alexander.makarow $</div>
+<div class="revision">$Id$</div>
@@ -173,4 +173,4 @@ $component->test();
Наприклад, поведінка має властивість із іменем `xyz` і привʼязана до компонента
`$a`. Тоді ми можемо використовувати вираз `$a->xyz` для доступу до властивості.
-<div class="revision">$Id: basics.component.txt 2890 2011-01-18 15:58:34Z qiang.xue $</div>
+<div class="revision">$Id$</div>
@@ -320,4 +320,4 @@ class PostController extends CController
окрім `edit` і `create`. Якщо оператори `'+'` і `'-'` не зазначені, фільтр буде
застосований до всіх дій.
-<div class="revision">$Id: basics.controller.txt 3251 2011-06-01 00:24:06Z qiang.xue $</div>
+<div class="revision">$Id$</div>
@@ -140,4 +140,4 @@ Yii рекомендує іменувати змінні, функції та к
коли таблиці нашого додатку містяться в БД, що використовується одночасно іншими
додатками.
-<div class="revision">$Id: basics.convention.txt 3225 2011-05-17 23:23:05Z alexander.makarow $</div>
+<div class="revision">$Id$</div>
@@ -25,4 +25,4 @@ Yii::createWebApplication($configfile)->run();
Додаток може виконуватися у режимі відладки (debug) або робочому режимі (production) залежно від значення константи `YII_DEBUG`. За замовчанням, її значення встановлене в `false`, що означає робочий режим. Для запуску в режимі відладки потрібно встановити значення константи в `true` до підключення файлу `yii.php`. Робота додатку в режимі відладки не настільки ефективна через ведення багатьох внутрішніх журналів логування. З іншого боку, даний режим дуже корисний на стадії розробки, тому що надає більшу кількість інформації для відладки при виникненні помилок.
-<div class="revision">$Id: basics.entry.txt 3251 2011-06-01 00:24:06Z qiang.xue $</div>
+<div class="revision">$Id$</div>
@@ -25,4 +25,4 @@ Active Record (AR) — це шаблон проектування, який ви
Поля цього рядку відповідають властивостям AR-обʼєкту. Детальніше з AR-моделлю можна
ознайомитись у розділі [Active Record](/doc/guide/database.ar).
-<div class="revision">$Id: basics.model.txt 3251 2011-06-01 00:24:06Z qiang.xue $</div>
+<div class="revision">$Id$</div>
@@ -120,4 +120,4 @@ $postPerPage=Yii::app()->controller->module->postPerPage;
Для звертання до дії контролера у дочірньому модулі використовується маршрут
`parentModuleID/childModuleID/controllerID/actionID`.
-<div class="revision">$Id: basics.module.txt 2890 2011-01-18 15:58:34Z qiang.xue $</div>
+<div class="revision">$Id$</div>
@@ -44,4 +44,4 @@ MVC спрямований на відділення бізнес-логіки
10. Сформоване представлення додається у [макет сторінки](/doc/guide/basics.view#layout);
11. Дія завершує формування представлення та виводить результат користувачу.
-<div class="revision">$Id: basics.mvc.txt 3321 2011-06-26 12:54:22Z mdomba $</div>
+<div class="revision">$Id$</div>
@@ -255,4 +255,4 @@ return array(
~~~
-<div class="revision">$Id: basics.namespace.txt 3086 2011-03-15 00:04:53Z qiang.xue $</div>
+<div class="revision">$Id$</div>
@@ -142,4 +142,4 @@ Yii надає стандартний набір системних предст
`framework/views`. Їх можні змінити, створивши файли представлень з
тими же назвами у директорії `protected/views/system`.
-<div class="revision">$Id: basics.view.txt 3251 2011-06-01 00:24:06Z qiang.xue $</div>
+<div class="revision">$Id$</div>
@@ -39,4 +39,4 @@
Для кожного із представлених етапів може знадобитися створення та застосування тестів.
-<div class="revision">$Id: basics.workflow.txt 2718 2010-12-07 15:17:04Z qiang.xue $</div>
+<div class="revision">$Id$</div>
@@ -184,4 +184,4 @@ $posts = Post::model()->cache(1000, $dependency, 2)->with('comments')->findAll(a
У деяких сховищах кешу є обмеження на розмір збережених даних. Приміром, в memcache максимальний розмір однієї одиниці даних дорівнює одному мегабайту. Тому, якщо розмір результату запита перевищить дане обмеження, то кешування не спрацює.
-<div class="revision">$Id: caching.data.txt 3125 2011-03-25 17:05:31Z qiang.xue $</div>
+<div class="revision">$Id$</div>
@@ -22,4 +22,4 @@
У коді вище, `$callback` — це коректний зворотний PHP-виклик. Це може бути рядок з імʼям методу поточного контролера або глобальної функції. Також це може бути масив, який посилається на метод класу. Будь-які додаткові параметри у методі [renderDynamic()|CController::renderDynamic()] повинні бути передані зворотньому виклику. Зворотний виклик повинен не відображати динамічний вміст, а повернути його.
-<div class="revision">$Id: caching.dynamic.txt 163 2008-11-05 12:51:48Z weizhuo $</div>
+<div class="revision">$Id$</div>
Oops, something went wrong.

0 comments on commit 7886747

Please sign in to comment.