1:创建Yii(Yii权威指南)

来源:互联网 发布:电视机怎样连接网络 编辑:程序博客网 时间:2024/05/16 17:25
生成项目
我们将使用 yiic (命令行工具)创建一个新的 Yii 应用。Gii(强大的基于web的代码生成器)为特定的任务完成自动代码生成。假定 YiiRoot 为 Yii 的安装目录,WebRoot 是服务器的文档根目录。 

% YiiRoot/framework/yiic webapp WebRoot/testdrive 
这样我们就在WebRoot目录下面建立了一个基本的webapp项目,并且项目名称是testdrive。

目录结构
testdrive/
   index.php                 Web 应用入口脚本文件
   index-test.php            功能测试使用的入口脚本文件
   assets/                   包含公开的资源文件
   css/                      包含 CSS 文件
   images/                   包含图片文件
   themes/                   包含应用主题
   protected/                包含受保护的应用文件
      yiic                   yiic 命令行脚本
      yiic.bat               Windows 下的 yiic 命令行脚本
      yiic.php               yiic 命令行 PHP 脚本
      commands/              包含自定义的 'yiic' 命令
         shell/              包含自定义的 'yiic shell' 命令
      components/            包含可重用的用户组件
         Controller.php      所有控制器类的基础类
         Identity.php        用来认证的 'Identity' 类
      config/                包含配置文件
         console.php         控制台应用配置
         main.php            Web 应用配置
         test.php            功能测试使用的配置
      controllers/           包含控制器的类文件
         SiteController.php  默认控制器的类文件
      data/                  包含示例数据库
         schema.mysql.sql    示例 MySQL 数据库
         schema.sqlite.sql   示例 SQLite 数据库
         testdrive.db        示例 SQLite 数据库文件
      extensions/            包含第三方扩展
      messages/              包含翻译过的消息
      models/                包含模型的类文件
         LoginForm.php       'login' 动作的表单模型
         ContactForm.php     'contact' 动作的表单模型
      runtime/               包含临时生成的文件
      tests/                 包含测试脚本
      views/                 包含控制器的视图和布局文件
         layouts/            包含布局视图文件
            main.php         所有视图的默认布局
            column1.php      使用单列页面使用的布局
            column2.php      使用双列的页面使用的布局
         site/               包含 'site' 控制器的视图文件
            pages/           包含 "静态" 页面
               about.php     "about" 页面的视图
            contact.php      'contact' 动作的视图
            error.php        'error' 动作的视图(显示外部错误)
            index.php        'index' 动作的视图
            login.php        'login' 动作的视图
         system/             包含系统视图文件


连接数据库
修改应用的配置文件 WebRoot/testdrive/protected/config/main.php 即可,如下所示:
//连接到Mysql
'db'=>array(
               'connectionString' => 'mysql:host=localhost;dbname=yiitest',              
               'emulatePrepare' => true,
               'username' => 'root',
               'password' => 'xiaozhe',
               'charset' => 'utf8',
          ),
//连接到Sqlite
 'db'=>array(
            'connectionString'=>'sqlite:protected/data/source.db',
        ),
注意: 要使用 Yii 的数据库功能,我们需要启用 PHP 的 PDO 扩展和相应的驱动扩展。
 

Gii生成Model
我们可以使用Gii来建立一系列的CURD操作,首先开启Gii。
编辑文件 WebRoot/testdrive/protected/main.php找到modules里面的gii并进行设置。
然后,访问 URLhttp://hostname/testdrive/index.php?r=gii。这里我们需要输入密码,它是在我们在上面的配置中指定的。

比如现在我们进去之后,想要生成一个User Model,假设我们现在的表是tbl_user,则操作如下:
在 Table Name 输入框中,输入 tbl_user。在 Model Class 输入框中,输入 User。然后点击 Preview 按钮。这里将展示将要生成的新文件。现在点击 Generate 按钮。一个名为 User.php 将生成到 protected/models 目录中。如我们稍后描述的, User 模型类允许我们以面向对象的方式来访问数据表 tbl_user 。


Gii生成CURD
在创建模型类之后,我们将生成执行 CRUD 操作的代码。我们选择 Gii 中的 Crud Generator。
在 Model Class 输入框中,输入 User。在 Controller ID 输入框中,输入 user (小写格式)。现在点击 Generate 按钮后的 Preview 按钮。CRUD 代码生成完成了。
 
   
原创粉丝点击