使用主题
不需要编写任何代码,我们的blog应用是支持主题的。要想使用一个主题,需要先开发一个主题,主要是为其编写一些自定义的视图文件。比如使用一个名字为classic的拥有不同页面布局主题。我们需要在blog/themes/classic/views/layouts/main.php建立布局的视图文件。我们同样也需要修改应用的配置文件,来指出我们使用主题classic。
- return array(
- ......
- 'theme'=>'classic',
- ......
- );
国际化
我们也许会是我们的blog应用国际化,以让页面可以用不同的语言进行显示。这主要包括两方面的工作。
首先,我们需要为不同的语言建立不同的视图文件。比如在文章的列表页,我们可以创建一个视图文件blog/protected/views/post/zh_cn/list.php。当应用程序被配置为简体中文的时候。Yii会自动的调用这个新的视图文件。
其次,我们需要对代码中的消息进行翻译。翻译的消息作为文件保存在blog/protected/messages中,我们还需要修改代码,把所有使用文本字符的地方,改用通过Yii::t()方法调用。
更详细的国际化信息,请参看手册
使用缓存提高性能
尽管Yii framework本身是非常有效的,却不一定可以保证用Yii写的应用的效率。我们blog应用中许多地方可以改进性能。比如tag列表可能是个需要改进的性能瓶颈,因为它每次都要进行复杂的数据库查询和php逻辑处理。
我们可以使用Yii提供的复杂的缓存系统来提高性能。在Yii中一个非常有用的模块是COutputCache。缓存了页面显示的片段,片段内的代码不再需要在每次请求的时候都执行一次。比如在布局文件/wwwroot/blog/protected/views/layouts/main.php中,我们可以用COutputCache封装tag列表:
- <?php if($this->beginCache('tagCloud', array('duration'=>3600))) { ?>
- <?php $this->widget('TagCloud'); ?>
- <?php $this->endCache(); } ?>
使用上面的代码,tag模块的显示将有缓存提供,而不是每次请求都去只执行一次,缓存里的缓存内容将会持续3600秒有效
添加新的功能
我们的blog仅有基本的功能。要想成为一个完整的blog系统,需要许多功能。比如说日历模块,邮件通知,文章分类,文章存档等。我们把这些留给感兴趣的读者来完成