Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

YiiFrameworkBlog开发向导:进一步的完善

Posted on 2010-02-24 21:53  analyzer  阅读(385)  评论(0编辑  收藏  举报

使用主题

不需要编写任何代码,我们的blog应用是支持主题的。要想使用一个主题,需要先开发一个主题,主要是为其编写一些自定义的视图文件。比如使用一个名字为classic的拥有不同页面布局主题。我们需要在blog/themes/classic/views/layouts/main.php建立布局的视图文件。我们同样也需要修改应用的配置文件,来指出我们使用主题classic。

 
  1. return array(
  2.     ......
  3.     'theme'=>'classic',
  4.     ......
  5. );


 

国际化

我们也许会是我们的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列表:

 

 
  1. <?php if($this->beginCache('tagCloud'array('duration'=>3600))) { ?>
  2.  
  3. <?php $this->widget('TagCloud'); ?>
  4.  
  5. <?php $this->endCache(); } ?>



使用上面的代码,tag模块的显示将有缓存提供,而不是每次请求都去只执行一次,缓存里的缓存内容将会持续3600秒有效


添加新的功能

我们的blog仅有基本的功能。要想成为一个完整的blog系统,需要许多功能。比如说日历模块,邮件通知,文章分类,文章存档等。我们把这些留给感兴趣的读者来完成

我要啦免费统计