Yii 通过Gii实现CRUD与生成module

                            Yii 通过Gii实现CRUD与生成module

 

    开发工具:NetBeans IDE(使用Eclipse PHP Studio亦可) ,wampserver

     数据库:mySQL

    相关完整参考工程链接:Yii实现用户注册登录、ajax、图片上传、modules编程基础例程(内置完整工程及使用说明)


   【1】创建和连接数据库

    创建数据库message,并修改 config/main.php 的db 信息

   

    建立user表

CREATE TABLE IF NOT EXISTS `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
  `password` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
  `profile` text COLLATE utf8_unicode_ci,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;

   【2】设置Gii ,并设置登录密码(在 protected / config / main.php)

    

    【3】进入gii设置工程(在工程地址末端加 “ ?r=gii ” ),进入后输入设置的密码进行登录

   

    【3-1】如果设置了伪静态,进入gii的地址由原来的 localhost/system/index.php?r=gii 改为 localhost/system/gii 或者是本地ip/system/gii

    (1)在config/main.php的components/urlManager中设置

'urlManager' => array(
            'urlFormat'=>'path',
            'urlSuffix'=>'.html',
            'showScriptName' => FALSE
)
    (2)需要在httpd.conf服务器中配置

      #LoadModule rewrite_module modules/mod_rewrite.so

    去除前面的#

      LoadModule rewrite_module modules/mod_rewrite.so

  (3)AllowOverride None 修改为:AllowOverride All

      【3-2】输入登录gii地址,出现 “exception 'CDbException' with message 'CDbConnection.connectionStringcannot be empty.' in   ..\framework\db\CDbConnection.php:370 ”的错误解决方法

      错误显示如下:

        

          出现问题的原因是在config/main.php中没有设置'db',因此要在相应的地方设置数据库连接

    【4】根据表的结构生成表的模型类

    

  

 点击下图的generate生成模型类User.php

 如果出现“The code has been generated successfully”表示文件生成成功

   【5】使用GII生成对表user的CRUD操作类

  

   这样,使用 GII 就能生成UserController 控制器、 User 模型 和 视图文件


   【6】访问生成的工程

  可以通过设置按钮和路径访问

 

   最终可以访问并能进行CRUD操作

  

   【7】在生成的模块modules下使用Gii生成模型models和控制器controllers

     如在modules/shop下生成models

  

    进入gii后修改生成model的路径Model Path到相应的模块下即可

    访问生成的modules下的模块

    (地址要指向modules下的shop,即modules/shop/views/shop/index.php)

   

 

   *引用外部的js、css文件,可以参考网上其他的方法(在modules下对应的模块新建assets文件夹,再进行配置),也可以直接在工程根目录下新建存放js和css的文件夹,访问更方便。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章