Maison > Article > développement back-end > php yii框架学习笔记一:入门体验,初次要了解的那些事._PHP教程
创建几张表格~ 简单说明一下, tbl_post blog 表 tbl_comment 评论表 , tbl_user 用户表 tbl_tag 标签表 直接运行下面的sql 即可.
CREATE DATABASE /*!32312 IF NOT EXISTS*/`yii` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `yii`;
DROP TABLE IF EXISTS `tbl_comment`;
CREATE TABLE `tbl_comment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`content` text,
`status` tinyint(1) DEFAULT '0',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`author` int(10) DEFAULT NULL,
`email` char(255) DEFAULT NULL,
`post_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `tbl_lookup`;
CREATE TABLE `tbl_lookup` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(20) DEFAULT NULL,
`code` char(20) DEFAULT NULL,
`type` int(11) DEFAULT NULL,
`position` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `tbl_post`;
CREATE TABLE `tbl_post` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` char(20) DEFAULT NULL,
`content` text,
`tags` char(255) DEFAULT NULL,
`status` tinyint(2) DEFAULT '0',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT NULL,
`author_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*Data for the table `tbl_post` */
insert into `tbl_post`(`id`,`title`,`content`,`tags`,`status`,`create_time`,`update_time`,`author_id`) values (1,'111','222222','3333',1,'2012-08-08 00:00:00','2012-08-08 00:00:00',2);
/*Table structure for table `tbl_tag` */
DROP TABLE IF EXISTS `tbl_tag`;
CREATE TABLE `tbl_tag` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(20) DEFAULT NULL,
`frequency` int(11) DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `tbl_user`;
CREATE TABLE `tbl_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` char(20) DEFAULT NULL,
`password` char(32) DEFAULT NULL,
`email` char(100) DEFAULT NULL,
`sex` int(11) DEFAULT '0',
`profile` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
insert into `tbl_user`(`id`,`username`,`password`,`email`,`sex`,`profile`) values (1,'admin','e10adc3949ba59abbe56e057f20f883e',NULL,0,NULL),(2,'demo','e10adc3949ba59abbe56e057f20f883e',NULL,0,NULL);
2 修改yii 的配置文件. protected/config/main.php
//约第五十行。
// 'db'=>array(
// 'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
// ),
// uncomment the following to use a MySQL database
'db'=>array(
'connectionString' => 'mysql:host=192.168.1.33;dbname=yii',
'emulatePrepare' => true,
'username' => 'root',
'password' => 'admin',
'charset' => 'utf8', 'prefix' => 'tbl'
'tablePrefix'=>'tbl_'
),
//约第21行,打开gii~
'modules'=>array(
// uncomment the following to enable the Gii tool
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'123456',
// If removed, Gii defaults to localhost only. Edit carefully to taste.
'ipFilters'=>array('127.0.0.1','192.168.1.7'),
),
),
$user = User::model()->findByAttributes(array('username' => $this->username));
if ($user === null) {
$this->errorCode = self::ERROR_USERNAME_INVALID;
} else if ($user->password !== md5(trim($this->password))) {
$this->errorCode = self::ERROR_PASSWORD_INVALID;
} else {
$this->setState('id', $user->id);
$this->setState('username', $user->username);
$this->errorCode = self::ERROR_NONE;
}
return !$this->errorCode;