为了账号安全,请及时绑定邮箱和手机立即绑定

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

上班偷偷打酱油 PHP开发工程师
难度中级
时长 8小时15分
学习人数
综合评分9.33
43人评价 查看评价
9.3 内容实用
9.4 简洁易懂
9.3 逻辑清晰
  • 创建post的时候事务: 开启事务: $transaction = Yii::$app->db->beginTransaction(); 使用try catch 捕获可能发生的异常: $transaction->commit(); 提交事务 如果发生异常 catch异常 并且 rollback事务操作: $transaction->rollback();
    查看全部
  • 添加tags组件; 将tags组件放在 common\widgets下面 <?=$form->field($model, 'tags')->widget('common\widgets\tags\TagWidget')?>
    查看全部
  • ueditor下载地址:http://www.yii-china.com/post/detail/3.html
    查看全部
  • 图片不能上传的一个原因可能是 在frontend/web目录下没有执行的权限
    查看全部
  • Yii2.0-图片上传扩展(异步加载缩略图) 地址: http://www.yii-china.com/post/detail/15.html
    查看全部
  • 获取数据库中的所有数据; $cats = ['0' => '暂无分类']; $catList = self::find()->all(); if ($catList) { foreach ($catList as $cat) { $cats[$cat['id']] = $cat['cat_name']; } } 或者使用 $catList = self::find()->asArray()->all(); if ($catList) { foreach ($catList as $catKey => $catValue) { $cats[$catValue['id']] = $catValue['cat_name']; } } 从数据库中查询数据, 如果不知道从数据库中返回的结果是什么样子的, 可以这样写 print_r($catList);exit; 直接输出结果查看结果;
    查看全部
  • $this->render('create', ['model' => $model, 'catList' => $catList]); postController 里面这样写代表: render的是view/post文件夹下的 create.php页面, 变传递两个参数$model $catList, 在create页面中可以直接使用这两个变量。
    查看全部
  • 引用的ActiveForm和Html使用: use yii\widgets\ActiveForm; use yii\helpers\Html;
    查看全部
  • 下拉框的使用: <?=$form->field($model, 'cat_id')->dropDownList(['1'=>'PHP', '2'=>'JavaScript'])?>
    查看全部
  • 使用面包屑: <?php $this->title ='创建'; $this->params['breadcrumbs'][] = ['label' => '文章', 'url' => ['post/index']]; $this->params['breadcrumbs'][] = $this->title; ?>
    查看全部
  • 命令行创建文章和标签的关系表: 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='文章和标签关系表';
    查看全部
  • 命令行创建标签表: 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='标签表';
    查看全部
  • 通过命令行创建cats表: 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='分类表';
    查看全部
  • 使用mysql 命令行创建posts数据表 sql语句: 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='文章主表';
    查看全部
  • 验证规则1: 验证用户名唯一性: ['username', 'unique', 'targetClass' => '\common\models\User', 'message' => Yii::t('common', 'This username has already been taken.')], 验证用户名的长度在最大长度和最小长度: ['username', 'string', 'min' => 2, 'max' => 255], 验证用户名的正则匹配模式; ['username', 'match', 'pattern' => '/^[a-zA-Z]+\w*$/u', 'message' => '用户名应该由字母 数字 下划线组成,且不能以数字和下划线开头。'], 用户名去空: ['username', 'trim'], 用户名不为空的验证: ['email', 'required'], 密码和重复密码的是否一致的验证: ['rePassword', 'compare', 'compareAttribute' => 'password', 'message'=> Yii::t('common', 'Password is not equal rePassword.')],
    查看全部

举报

0/150
提交
取消
课程须知
1、对php的基础知识掌握,如数组、类、对象。 2、对yii2高级版框架的基础技能掌握
老师告诉你能学到什么?
1、如何搭建yii2.0框架 2、框架的基础配置与数据库配置 3、Yii2.0场景和事件的应用 4、如何使用yii2开发登录注册及完整的前台功能 5、如何开发文章统计功能 7、博客后台管理系统功能的快速开发 8、gii工具的使用,快速生成代码

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!