存档

文章标签 ‘yii framework’

yii framework 教程 之 yiic(shell model crud) 工具

2010年1月5日 4 条评论

 

前一篇日志  yii framework 教程 之 安装篇  阐述了 yii framework的基本安装。

现在来看下,yii framework 的强大 yiic 工具。

在开始之前,我们需要建立一个 user 表。 很简单的三个字段就可以了。

 

CREATE TABLE IF NOT EXISTS `user` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(128) NOT NULL,
  `password` varchar(128) NOT NULL,
  `email` varchar(128) NOT NULL,
  `profile` text,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

 

接下来,我们需要修改下,yiitest/protected/config/main.php .

找到  ‘db’=>array( ‘connectionString’=>’Your DSN’, )  ,修改成 

 

 

'db'=>array(
   'connectionString'=>'mysql:host=localhost;dbname=yiitest',
    'username'=>'root',
   'password'=>'123456'
 ),

 

这段代码是用来连接数据库的。

准备工作做完了,我们开始体验yiic shell  model 的强大功能吧。

首先,我们依然在命令行下进入 我们创建的 yiitest 目录,如下图:

 

然后我们调用 yiic shell 命令。 如下图

再输入 model user 命令。 如下图

我们看到,报错啦。。。

Warning: include(PDO.php): failed to open stream: No such file or directory in  D:\work\PHPnow-1.5.4\vhosts\yii\framework\YiiBase.php on line 337

Warning: include(): Failed opening ‘PDO.php’ for inclusion (include_path=’.;D:\w
ork\PHPnow-1.5.4\vhosts\yii\yiitest\protected\components;D:\work\PHPnow-1.5.4\vh
osts\yii\yiitest\protected\models;C:\php5\pear’) in D:\work\PHPnow-1.5.4\vhosts\
yii\framework\YiiBase.php on line 337

Fatal error: Class ‘PDO’ not found in D:\work\PHPnow-1.5.4\vhosts\yii\framework\
db\CDbConnection.php on line 289

 

之所以报错,是因为我们的 PHP.INI 文件有问题。

最简单的办法,我们将 PHP.INI 复制到 c:\windows 目录下即可。

 

然后我们再执行 model user 命令。 这时候我们会看到执行成功啦。。。 如下图:

接着,我们再执行以下 crud 命令。 如下图:

 

这样,我们就使用 yiic工具 生成了 对于 user 表的 增删改查。

使用 http://hostname/patch/to/index.php?r=user 访问下,试试。。。

yii framework 教程 之 安装篇

2009年12月29日 5 条评论

折腾了半天,终于搞定yii framework的安装了。原来安装的时候 执行 yiic shell model user 总提示 Fatal error: Call to a member function getDb() on a non-object in D:\work\PHP-1.5.4\vhosts\yii\framework\cli\commands\shell\ModelCommand.php 

后来问题解决了。


下面具体来说说怎么安装。

1、我们在安装前做个准备工作,将您的 PHP/bin 目录加入到 环境变量path中。

2、去下载 yiiframework   http://www.yiiframework.com/download/

 

我的web目录是  D:\work\PHPnow-1.5.4\vhosts\yii 。就以我的web目录为例子吧。


下载完后 解压。里面有个 framwork 文件夹。这就是yiiframework的主要文件。我们将其拷贝到我们的web目录下。(解压后,还有demos文件,这是官方的例子。可以参考。。。)

现在,我们命令行下,进入 D:\work\PHPnow-1.5.4\vhosts\yii

然后我们需要调用  yiiframwork 的 yiic 工具。了。

如下图:我们需要带上 yiiframwork 的实际路径,键入 yiic webapp yiitest

然后系统会提示Create a Web application under 'D:\work\PHPnow-1.5.4\vhosts\yii\yiitest'? [Yes|No]  

此时键入 y 即可。

说明下, yiic webapp yiitest 这句话。yiic 是调用yiic.bat 工具,webapp是参数,代表创建一个web应用程序,yiitest是要创建的站点名称,或者叫路径。

 

此时,我们会发现,web目录下多了一个 yiitest文件夹。里面有已经生成好的文件了。

 

 

我们在浏览器中访问我们刚刚建好的yiitest网站,就会出现如下图所示:

 

这就代表我们已经成功的使用 yiic 工具,生成了一个站点。 目录结构说明如下:

yiitest/
   index.php                 Web 应用入口脚本文件
   assets/                   包含公开的资源文件
   css/                      包含 CSS 文件
   images/                   包含图片文件
   themes/                   包含应用主题
   protected/                包含受保护的应用文件
      yiic                   yiic 命令行脚本
      yiic.bat               Windows 下的 yiic 命令行脚本
      commands/              包含自定义的 'yiic' 命令
         shell/              包含自定义的 'yiic shell' 命令
      components/            包含可重用的用户组件
         MainMenu.php        'MainMenu' 挂件类
         Identity.php        用来认证的 'Identity' 类
         views/              包含挂件的视图文件
            mainMenu.php     'MainMenu' 挂件的视图文件
      config/                包含配置文件
         console.php         控制台应用配置
         main.php            Web 应用配置
      controllers/           包含控制器的类文件
         SiteController.php  默认控制器的类文件
      extensions/            包含第三方扩展
      messages/              包含翻译过的消息
      models/                包含模型的类文件
         LoginForm.php       'login' 动作的表单模型
         ContactForm.php     'contact' 动作的表单模型
      runtime/               包含临时生成的文件
      views/                 包含控制器的视图和布局文件
         layouts/            包含布局视图文件
            main.php         所有视图的默认布局
         site/               包含 'site' 控制器的视图文件
            contact.php      'contact' 动作的视图
            index.php        'index' 动作的视图
            login.php        'login' 动作的视图
         system/             包含系统视图文件

 

 

yiiframwork好像很强大哈。。。

 

下一节我们介绍yiicframwork的 yiic shell   和 yiic crud 工具。能直接生成对象模型和增删改查。