0 follower

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

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

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

return array(
    ......
    'theme'=>'classic',
    ......
);

2. Интернационализация

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

Во-первых, мы можем создать файлы представлений на различных языках. Например, для страницы list контроллера PostController, мы можем создать файл представления /wwwroot/blog/protected/views/post/zh_cn/list.php. Когда приложение сконфигурировано на использование упрощенного китайского языка (языковой код - zh_cn), Yii будет автоматически использовать новый файл представления вместо оригинального.

Во-вторых, мы можем создать перевод сообщений, сгенерированных кодом. Перевод сообщений должен быть сохранен в файлах директории /wwwroot/blog/protected/messages. Также мы должны изменить код, в котором мы используем текстовые строки, заключив их в вызов метода Yii::t().

За деталями об интернационализации обратитесь к разделу интернационализация (I18N) руководства.

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

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

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

<?php if($this->beginCache('tagCloud', array('duration'=>3600))) { ?>
 
<?php $this->widget('TagCloud'); ?>
 
<?php $this->endCache(); } ?>

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

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

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