0 关注者

未来增强

1. 使用主题

无需编写任何代码,我们的博客应用程序已经是可主题化的。要使用主题,我们主要需要通过编写自定义视图文件来开发主题。例如,要使用名为“classic”的主题,该主题使用不同的页面布局,我们将创建一个布局视图文件“/wwwroot/blog/themes/classic/views/layouts/main.php”。我们还需要更改应用程序配置以指示我们选择“classic”主题

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

2. 国际化

我们还可以国际化我们的博客应用程序,以便其页面可以以不同的语言显示。这主要涉及两个方面的努力。

首先,我们可以创建不同语言的视图文件。例如,对于“PostController”的“index”页面,我们可以创建一个视图文件“/wwwroot/blog/protected/views/post/zh_cn/index.php”。当应用程序配置为使用简体中文(语言代码为“zh_cn”)时,Yii 会自动使用这个新的视图文件来代替原来的文件。

其次,我们可以为代码生成的那些消息创建消息翻译。消息翻译应该保存为“/wwwroot/blog/protected/messages”目录下的文件。我们还需要修改使用文本字符串的代码,将它们括在方法调用“Yii::t()”中。

有关国际化的更多详细信息,请参阅指南。

3. 使用缓存提高性能

虽然 Yii 框架本身非常高效,但并不一定意味着用 Yii 编写的应用程序就高效。在我们的博客应用程序中,有几个地方可以提高性能。例如,标签云Portlet 可能是性能瓶颈之一,因为它涉及复杂的数据库查询和 PHP 逻辑。

我们可以利用 Yii 提供的完善的缓存功能来提高性能。Yii 中最有用组件之一是“COutputCache”,它缓存页面显示的片段,这样就不需要为每个请求执行生成该片段的底层代码。例如,在布局文件“/wwwroot/blog/protected/views/layouts/column2.php”中,我们可以用“COutputCache”包含标签云Portlet

<?php if($this->beginCache('tagCloud', array('duration'=>3600))) { ?>
 
    <?php $this->widget('TagCloud', array(
        'maxTags'=>Yii::app()->params['tagCloudCount'],
    )); ?>
 
<?php $this->endCache(); } ?>

使用上面的代码,标签云显示将从缓存中提供,而不是为每个请求动态生成。缓存的内容将在缓存中保持有效 3600 秒。

4. 添加新功能

我们的博客应用程序只有非常基本的功能。要成为一个完整的博客系统,还需要更多功能,例如日历Portlet、电子邮件通知、帖子分类、归档帖子Portlet 等等。我们将把这些功能的实现留给感兴趣的读者。

发现错别字或您认为此页面需要改进?
在 github 上编辑它 !