Press "Enter" to skip to content

PHP之Yii2框架搭建完整博客系统

Yii2框架博客系统项目简介

Yii2框架博客系统功能概览

Yii2框架博客系统框架安装

Yii2框架博客系统框架安装

课程中的版本和php7有冲突故更换

  • 配置本地域名
  • 配置环境变量
  • 运行初始化脚本
    输入0

Yii2框架博客系统数据库的搭建与相关配置

登录注册位置要将STATUS_INACTIVE改为10才可以
需要增加validation_token字段
配置数据库位置位于common/confing/main-config.php

Yii2框架博客系统的框架路由配置

1.去掉index.php
修改.htaccess文件
2.开启url美化
suffix 参数可以加后缀

Yii框架博客系统的语言包配置

1.开启中文显示
2.配置语言包
3.添加语言包文件

在frontend/config/main.php中增加language=zh-CN
增加参数

'i18n' => [
        'translations' => [
            '*' => [
                'class' => 'yii\i18n\PhpMessageSource',
                'fileMap' => [
                    'common' => 'common.php',
                ],
            ],
        ],
    ],

在视图中使用Yii::t('语言包名','变量名')

Yii2框架博客系统中独立的用户系统

1.将模板增加到公共文件夹并修改模型目录
2.创建管理员数据库
3.将登陆模型进行区分

将登陆模型,用户模型,管理员模型设为公共,在各模块中调用
修改main中的引入模型
attributeLabels方法:在模型中使用,可以修改输出的字段

高级模板:backend后台 frontend前台

Yii2框架博客系统前台界面布局

1.菜单导航
增加leftMenus和rightMenus
2.登录显示
增加头像
3.引入font-awesome-4.4.0

修改样式目录要在assets/AppAsset 修改
外部参数在config/params中增加 使用Yii::$app->params

Yii2框架博客系统登录注册

1.理解model和form的差别
2.完善注册功能

form中写校验规则

使用$form->field($model,’email’) 增加输入框

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

1.创建文章控制器
2.创建文章相关的数据表

创建基类控制BaseController
将类全部继承该类
创建PostController
创建文章视图
创建文章表以及关联表

Yii2框架博客系统创建文章model与form

1.使用GII创建文章数据模型Model
2.创建文章表单模型Form

输入gii进入gii界面
创建基础模型以及PostModel模型
增加postForm模板,编写rules和attributeLabels

Yii2框架博客系统文章创建之表单生成

1.创建基础控制器与表单

增加创建文章方法,传递模型

在创建视图后需要引入yii框架提供的由bootstrap方法用来生成样式

Yii2框架博客系统文章创建-分类表单

1.创建分类模型
2.获取分类数据

使用gii创建分类模型
在创建文章方法中增加获取分类方法

self::find()->asArray()->all()

Yii2框架博客系统文章创建-标签图上传

1.图片上传组件
需要下载扩展
2.标签图实现
根据教程实现即可https://www.yii-china.com/post/detail/15.html

Yii2框架博客系统文章创建-富文本编辑器

1.Ueditor组件加载
https://www.yii-china.com/post/detail/3.html
2.内容实现

Yii2框架博客系统文章创建-标签

1.Tags组件
2.标签功能实现

Yii2框架博客系统定义场景与文章创建逻辑

1.场景应用
2.通过表单模型实现业务逻辑

首先定义两个常量表示创建和更新,这是yii框架自带的场景我觉得还是有用的,setScenario用于在控制器设置,scenario()初始化参数

Yii2框架博客系统文章创建create方法实现

1.create方法实现
2.文章内容截取方法实现

在模型中增加create方法并使用事务
表单增加的属性可以直接使用setAttributes($this->attributes)
文章简介需要使用截取方法
获取user_id通过$app->user->identity->id
获取username通过$app->user->identity->username

再增加一个其他事件,例如增加tag标签
截取指定长度的文章并去除空格和HTML作为描述

使用$model->load() 判断数据来源方式,$model->validate()去校验

Yii2框架博客系统添加文章事件方法实现

1.事件用法
2.eventAfterCreate方法实现

定义事件分别为创建和更新
$this->on为添加事件
$this->tigger为触发事件

Yii2框架博客系统添加文章标签功能实现上

1.创建标签模型与关系模型
2.添加标签功能实现

定义标签模型类以及验证规则
删除标签与文章的对应关系后再增加标签
使用gii生成tag和post的关联模型
使用Query类进行关联表的插入

Yii2框架博客系统添加文章标签功能实现下

添加saveTags方法用于添加tag
使用gii增加模型方法
updateCounters更新单个参数
如果tag存在则增加数量,否则插入数据

在这里遇到一个问题,无法获取tags属性,很想知道这个tags属性是怎么来的

未登录则限制访问create方法 — 此处无效

Yii2框架博客系统文章详情

1.获取文章数据
2.文章页面渲染

with增加关联关系

Yii2框架博客系统文章统计

1.创建文章扩展表
2.文章统计功能实现

Yii2框架博客系统文章列表

1.自定义组件
2.将文章列表封装在组件中

获取分页,调用getlist传递条件和分页参数,增加格式化数据方法

Yii2框架博客系统博客首页-图片轮播

1.如何制作首页的挂件
2.图片轮播组件

和文章类似也是增加一个Banner组件便于其他地方调用

Yii2框架博客系统博客首页-留言板

1.留言板组件

增加表,使用Gii生成模型,增加留言组件

Yii2框架博客系统博客首页-热门浏览

1.热门浏览组件

增加组件组件并关联浏览数以及文章表

Yii2框架博客系统博客首页-标签云

1.标签云组件

Yii2框架博客系统管理后台登录

1.登录布局文件制作
2.后台登录

修改layout布局文件layout.php,增加样式布局

Yii2框架博客系统后台整体布局

1.制作布局
2.菜单组件

Yii2框架博客系统的会员管理

1.会员信息功能

增加会员模型,使用gii的curd

Yii2框架博系统内容管理CMS

1.使用gii快速生成代码
2.完成文章,标签,分类管理功能开发

总结

1.工具的使用:gii
2.扩展的使用:编辑器扩展,图片上传扩展,标签扩展等
3.框架的应用:场景应用,事件,rule规则,挂件等
4.核心思想:快速开发,避免重复劳动,提升代码复用率

用了大概5天吧,对yii是比较烦了,以后还是多看写接口的视频