Дальнейшие улучшения

Использование тем #

Даже без написания дополнительного кода наше приложение уже готово использовать темы оформления. Для использования темы, мы, в основном, должны разработать её, написав кастомизированные файлы представлений темы. Например, для использования темы classic, использующей другой макет страницы, мы создали бы файл представления макета /wwwroot/blog/themes/classic/views/layouts/main.php. Мы также должны изменить конфигурацию приложения для указания, что мы выбрали тему classic:

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) руководства.

Улучшение производительности использованием кэша #

Хотя сам Yii довольно быстр, не обязательно, что приложение, написанное с использованием Yii, будет работать так же эффективно. Есть несколько мест в приложении, где мы можем улучшить работу. Например, портлет облака тэгов может быть одним из узких мест в работе, потому что он использует сложный запрос к базе данных и логику PHP.

Мы можем использовать сложные кэширующие особенности, предоставленные Yii, для улучшения работы. Один из самых полезных компонентов в Yii — это COutputCache, который кэширует фрагмент отображения страницы так, чтобы основной код, генерирующий фрагмент, не выполнялся в каждом запросе. Например, в файле макета /wwwroot/blog/protected/views/layouts/column2.php мы можем заключить портлет облака тэгов в COutputCache:

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

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

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

В коде выше отображение облака тэгов будет получаться из кэша вместо того, чтобы генерироваться для каждого запроса. Кэшируемое содержимое останется валидным в кэше в течение 3600 секунд.

Добавление новых особенностей #

У нашего приложения есть только очень основные функциональные возможности. Чтобы стать полноценной системой управления блогом, необходимо больше особенностей, например, портлет календаря, уведомления по электронной почте, категории записей, портлет архивных записей и так далее. Мы оставим возможность реализовать эти особенности заинтересовавшимся читателям.


Зачем реклама?