Files
yii/docs/blog/ru/final.future.txt
2010-05-02 02:02:05 +00:00

89 lines
5.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Дальнейшие улучшения
====================
Использование тем
-----------------
Даже без написания дополнительного кода наше приложение уже готово
использовать [темы оформления](/doc/guide/ru/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/ru/topics.i18n) руководства.
Улучшение производительности использованием кэша
------------------------------------------------
Хотя сам Yii [довольно быстр](http://www.yiiframework.com/performance/), не обязательно,
что приложение, написанное с использованием Yii, будет работать также эффективно. Есть
несколько мест в приложении, где мы можем улучшить работу. Например,
портлет облака тэгов может быть одним из узких мест в работе, потому что он
использует сложный запрос к базе данных и логику PHP.
Мы можем использовать сложные
[кэширующие особенности](/doc/guide/ru/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 секунд.
Добавление новых особенностей
-------------------
У нашего приложения есть только очень основные функциональные возможности.
Чтобы стать полноценной системой управления блогом, необходимо больше
особенностей, например, портлет календаря, уведомления по электронной почте,
категории записей, портлет архивных записей и так далее. Мы оставим
возможность реализовать эти особенности заинтересовавшимся читателям.
<div class="revision">$Id: final.future.txt 2017 2010-04-05 17:12:13Z alexander.makarow $</div>