ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 第2章 项目的准备工作 ## 框架 下载地址 https://github.com/yiisoft/yii2/releases/download/2.0.7/yii-basic-app-2.0.7.tgz ## 运行环境搭建 >=PHP5.4 php requirements.php //运行环境监测 ## 框架介绍 ... ## 创建一个操作 创建控制器 - 在 controllers 下新建 IndexController.php 控制器 - 类名:IndexController - 继承 yii\web\Controller 创建方法 - 方法名前缀:action - 使用方法和函数一样 - 渲染模板使用 render 方法 创建数据库模型类 - 创建 \models\Admin.php 类 - 继承 \yii\db\ActiveRecord 类 - 声明 tableName 指定表名 - 使用 {{%表名}} 指定表前缀 ## 数据库配置 \config\db.php ``` return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yii2basic', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'tablePrefix' => 'shop_' ]; ``` ``` DROP TABLE IF EXISTS `shop_admin`; CREATE TABLE IF NOT EXISTS `shop_admin`( `adminid` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', `adminuser` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '管理员账号', `adminpass` CHAR(32) NOT NULL DEFAULT '' COMMENT '管理员密码', `adminemail` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '管理员电子邮箱', `logintime` INT UNSIGNED NOT NULL DEFAULT '0' COMMENT '登录时间', `loginip` BIGINT NOT NULL DEFAULT '0' COMMENT '登录IP', `createtime` INT UNSIGNED NOT NULL DEFAULT '0' COMMENT '创建时间', PRIMARY KEY(`adminid`), UNIQUE shop_admin_adminuser_adminpass(`adminuser`, `adminpass`), UNIQUE shop_admin_adminuser_adminemail(`adminuser`, `adminemail`) )ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `shop_admin`(adminuser,adminpass,adminemail,createtime) VALUES('admin', md5('123'), 'shop@imooc.com', UNIX_TIMESTAMP()); ``` ## 示例 创建 index 方法,实例化模型,模型查找数据库数据,将数据传递给模板 ``` public function actionIndex() { $model = new Admin; $data = $model->find()->one(); return $this->render('index', compact('data')); } ``` 在视图中输出变量$data; ``` <p>index/index</p> <?php var_dump($data); ?> ``` 效果图: ![](https://box.kancloud.cn/3d8f079713371cf91df797094319e074_1920x1007.jpg)