您的位置:首页 > 编程语言 > PHP开发

Yii2框架博客系统创建文章控制器与数据表

2018-03-25 00:27 441 查看
标题



1.创建文章控制器
    文章控制拟名为PostController.php 

    为了方便后续的操作 习惯创建了一个Controller/base/BaseController.php

    
PostController.php 代码实例BaseController.php 代码实例
<?php
namespace frontend\controllers;
/**
* 文章控制器
*/
use Yii;
use frontend\controllers\base\BaseController; 
#⤴️正确的引入basecontroller

class PostController extends BaseController{

/**
* 文章列表
*/
public function actionIndex(){
return $this->render('index');
}
}

?>
<?php
namespace frontend\controllers\base;

/**
*  基础控制器
*/
use yii\web\Controller;
class BaseController extends Controller{

public function beforeAction($action)
{
if (!parent::beforeAction($action)) {
return false;
}
return true;
}

}
?>
备注:// 如果没有zend studio,不会自动引入文件。
所以在SiteController类改继承BaseController时,
会找不到类。自行添加引用,在文中添加加红语句即可
 
2. 创建文章相关数据表
sql语句展示

post  文章表cats  分类表
CREATE TABLE `posts` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `title` varchar(255) DEFAULT NULL COMMENT '标题',
  `summary` varchar(255) DEFAULT NULL COMMENT '摘要',
  `content` text COMMENT '内容',
  `label_img` varchar(255) DEFAULT NULL COMMENT '标签图',
  `cat_id` int(11) DEFAULT NULL COMMENT '分类id',
  `user_id` int(11) DEFAULT NULL COMMENT '用户id',
  `user_name` varchar(255) DEFAULT NULL COMMENT '用户名',
  `is_valid` tinyint(1) DEFAULT '0' COMMENT '是否有效:0-未发布 1-已发布',
  `created_at` int(11) DEFAULT NULL COMMENT '创建时间',
  `updated_at` int(11) DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_cat_valid` (`cat_id`,`is_valid`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=111 DEFAULT CHARSET=utf8 COMMENT='文章主表';
CREATE TABLE `cats` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `cat_name` varchar(255) DEFAULT NULL COMMENT '分类名称',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='分类表';
  
tag  标签表relation_post_tags  文章和标签关系表
CREATE TABLE `tags` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `tag_name` varchar(255) DEFAULT NULL COMMENT '标签名称',
  `post_num` int(11) DEFAULT '0' COMMENT '关联文章数',
  PRIMARY KEY (`id`),
  UNIQUE KEY `tag_name` (`tag_name`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8 COMMENT='标签表';
CREATE TABLE `relation_post_tags` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `post_id` int(11) DEFAULT NULL COMMENT '文章ID',
  `tag_id` int(11) DEFAULT NULL COMMENT '标签ID',
  PRIMARY KEY (`id`),
  UNIQUE KEY `post_id` (`post_id`,`tag_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8 COMMENT='文章和标签关系表';
  
补充 目录结构



完成基本的部署
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐