Подальші поліпшення =================== Використання тем ---------------- Навіть без написання додаткового коду наш додаток вже готовий використовувати [теми оформлення](/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] beginCache('tagCloud', array('duration'=>3600))) { ?> widget('TagCloud', array( 'maxTags'=>Yii::app()->params['tagCloudCount'], )); ?> endCache(); } ?> ~~~ У коді вище відображення хмари тегів буде отримуватися із кешу замість того, щоб генеруватися для кожного запиту. Кешований вміст залишиться валідним у кеші протягом 3600 секунд. Додавання нових особливостей ---------------------------- У нашого додатка є тільки дуже основні функціональні можливості. Щоб стати повноцінною системою керування блогом, необхідно більше особливостей, наприклад, портлет календаря, сповіщення по електронній пошті, категорії записів, портлет архівних записів і так далі. Ми залишимо можливість реалізувати ці особливості зацікавленим читачам.