欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php yii框架学习笔记一:入门体验,初次要了解的那些事.

程序员文章站 2022-05-11 13:45:25
...
 创建几张表格~ 简单说明一下,  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;