Подальші поліпшення
===================

Використання тем
----------------

Навіть без написання додаткового коду наш додаток вже готовий
використовувати [теми оформлення](/doc/guide/uk/topics.theming).
Для використання теми, ми, в основному, повинні розробити її, 
написавши змінені файли представлень теми. 
Наприклад, для використання теми `classic`,
яка використовує інший макет сторінки, ми створили б файл представлення макету
`/wwwroot/blog/themes/classic/views/layouts/main.php`.
Ми також повинні змінити конфігурацію додатка для вказівки, що ми обрали тему `classic`:

~~~
[php]
return array(
	…
	'theme'=>'classic',
	…
);
~~~


Інтернаціоналізація
-------------------

Ми також можемо інтернаціоналізувати наш додаток, щоб його сторінки могли
відображатися на різних мовах. В основному, це включає в себе два аспекти.

По-перше, ми можемо створити файли представлень на різних мовах. Наприклад,
для сторінки `index` контролера `PostController`, ми можемо створити файл
представлення `/wwwroot/blog/protected/views/post/zh_cn/index.php`. Коли
додаток зконфігуровано на використання спрощеної китайської мови
(мовний код — `zh_cn`), Yii буде автоматично використовувати новий файл
представлення замість оригінального.

По-друге, ми можемо створити переклад повідомлень, згенерованих кодом. 
Переклад повідомлень має бути збережений у файлах директорії
`/wwwroot/blog/protected/messages`. Також ми повинні змінити код, у якому ми
використовуємо текстові рядки, уклавши їх в виклик методу `Yii::t()`.

За деталями про інтернаціоналізацію зверніться до розділу
[інтернаціоналізація (I18N)](/doc/guide/uk/topics.i18n) керівництва.

Поліпшення продуктивності використанням кеша
--------------------------------------------

Хоча сам Yii [досить швидкий](http://www.yiiframework.com/performance/), 
не обовʼязково, що додаток, написаний з використанням Yii, буде працювати також ефективно. 
Є кілька місць у додатку, де ми можемо поліпшити роботу. 
Наприклад, портлет хмари тегів може бути одним із вузьких місць у роботі, 
тому що він використовує складний запит до бази даних і логіку PHP.

Ми можемо використовувати складні
[особливості при кешуванні](/doc/guide/uk/caching.overview), надані Yii,
для поліпшення роботи. Один із найбільш корисних компонентів в Yii — це
[COutputCache], який кешує фрагмент представлення сторінки так, щоб
основний код, який генерує фрагмент, не виконувався при кожному запиті. 
Наприклад, у файлі макету `/wwwroot/blog/protected/views/layouts/column2.php`
ми можемо укласти портлет хмари тегів у [COutputCache]:

~~~
[php]
<?php if($this->beginCache('tagCloud', array('duration'=>3600))) { ?>

	<?php $this->widget('TagCloud', array(
		'maxTags'=>Yii::app()->params['tagCloudCount'],
	)); ?>

<?php $this->endCache(); } ?>
~~~

У коді вище відображення хмари тегів буде отримуватися із кешу замість того,
щоб генеруватися для кожного запиту. Кешований вміст залишиться
валідним у кеші протягом 3600 секунд.

Додавання нових особливостей
----------------------------

У нашого додатка є тільки дуже основні функціональні можливості.
Щоб стати повноцінною системою керування блогом, необхідно більше
особливостей, наприклад, портлет календаря, сповіщення по електронній пошті,
категорії записів, портлет архівних записів і так далі. Ми залишимо
можливість реалізувати ці особливості зацікавленим читачам.
