Bookmark and Share

Lee's 程序人生

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

YiiFrameworkBlog开发向导:脚手架

Posted on 2010-02-24 21:42  analyzer  阅读(607)  评论(0)    收藏  举报

增加、显示、修改、删除是持久化数据的四个基本的操作,在我们的应用程序中。主要任务就是对文章和评论实现这些基本的操作。在本节中,我们使用Yiic工具来完成这个工作。这个过程往往被叫做脚手架。

开启命令行输入:

% /wwwroot/yii/framework/yiic shell /wwwroot/blog/index.php
Yii Interactive Tool v1.0
Please type 'help' for help. Type 'exit' to quit.
>> model User
......
>> model Post
......
>> model Tag
......
>> model Comment
......
>> crud Post
......
>> crud Comment
......
>> exit

 

一些php的配置可能不同。所以执行上面的命令的时候我们可能会遇到这样的错误 "YiiBase::include(PDO.php): failed to open stream..." 或者 "...could not find driver".请通过php -r "phpinfo();"命令仔细检查相关配置。该命令会显示目前正在使用的php.ini文件和目前已经加载的扩展。如果使用的php.ini文件不同,可以使用如下的命令明确的指定说用的php.ini文件。
php -c php.ini pathto/yiic.php shell pathto/blog/index.php

我们可以使用如下的地址来测试刚才生成的代码

http://www.example.com/blog/index.php?r=post
http://www.example.com/blog/index.php?r=comment

在我们生成的代码中,文章和评论是完全独立的。有时候我们添加一篇文章或评论时,一些信息如创建时间、用户id等希望系统来自动生成。这些我们将在下一步来实现。现在我们应该对这个应用的圆形感到满意,因为它已经包含了我们想实现的许多方面。

在进入下一个里程碑之前,让我们先看一看以上命令所产生的文件。所有的文件都在/wwwroot/blog/protected下面。为了方便我们把他们分别分组到模块文件(model)文件控制器(controller)文件和视图(view)文件

model文件

位于protected/models下面,有User.php Post.php Tag.php 和Comment.php。他们分别是从CActiveRecord扩展来的类,作为对数据表操作的入口。

controller文件

位于protected/controllers文件夹下有PostController.php和CommentController.php,包含对应的Controller类,实现了所有的CRUD操作。

view 文件

位于protected/views下面的各个文件夹下,作为对应的视图文件。

为了更好的理解以上文件是如何使用的。我们可以看一下当处理请求的时候大体执行步骤。

  1. 被WEB服务器调用的入口程序,创建并初始一个应用程序实例来处理请求。
  2. 应用程序创建一个PostController实例并执行。
  3. PostController实例通过调用其对应的名为actionList()的list 动作(action)来执行请求。
  4. actionList()方法查询数据库返回最新的文章列表
  5. actionList()方法根据查询到的文章数据,显示list视图文件

原文www.yiiframework.com/doc/blog/prototype.scaffold