# 发布微博
微博的创建与删除原理和用户的相关操作是一样的,只不过把对象换成了微博而已
## 微博控制器
现在来创建一个微博相关的控制器。
打开命令行并键入: `php think make:controller user/Post --plain`
`--plain` 表示生成一个空控制器。
`application\user\controller\Post.php`
~~~php
<?php
namespace app\user\controller;
use think\Controller;
use think\Request;
use app\User\model\Post as PostModel;
class Post extends Controller
{
protected $middleware = [
'UserAuthorize' => [
'only' => [
'save',
]
]
];
public function save(Request $request)
{
PostModel::create([
'content' => $request->content,
'user_id' => session('user.id')
]);
return redirect('/');
}
}
~~~
虽然我们还未创建前端页面,但是能够从基本的发布流程中来编写后端逻辑,现在来编辑页面。
`resources\views\welcome\index\home.blade.php`
~~~html
@extends('_layout.default')
@section('title', '主页')
@section('content')
<div>
<form action="{{ url('user/post/save') }}" method="POST">
@php echo token() @endphp
<div class="form-group">
<textarea class="form-control" rows="3" name="content"></textarea>
</div>
<div class="text-right">
<button type="submit" class="btn btn-primary mt-3">发布</button>
</div>
</form>
</div>
@stop
~~~
现在访问主页:http://thinkphp.test ,即可看到输入框,可是现在路由还未绑定,编辑路由。
`route\route.php`
~~~php
...
Route::resource('post', 'user/post')->only(['save']);
...
~~~
需要注意的是,后面的 `->only` 表示只通过控制器的某一个方法。
再次访问:http://thinkphp.test 并在输入框内输入一些内容点击发布,正常跳转。
访问个人资料页面:http://thinkphp.test/user/auth/read/id/1.html 就能够看到刚刚发布的内容了。
- 第一章. 基础信息
- 1.1 序言
- 1.2 关于作者
- 1.3 本书源码
- 1.4 反馈纠错
- 1.5 安全指南
- 1.6 捐助作者
- 第二章. 开发环境布置
- 2.1 编辑器选用
- 2.2 命令行工具
- 2.3 开发环境搭建
- 2.4 浏览器选择
- 2.5 第一个应用
- 2.6 Git 工作流
- 第三章. 构建页面
- 3.1 章节说明
- 3.2 静态页面
- 3.3 Think 命令
- 3.4 小结
- 第四章. 优化页面
- 4.1 章节说明
- 4.2 样式美化
- 4.3 局部视图
- 4.4 路由链接
- 4.5 用户注册页面
- 4.6 集中视图
- 4.7 小结
- 第五章. 用户模型
- 5.1 章节说明
- 5.2 数据库迁移
- 5.3 查看数据表
- 5.4 模型文件
- 5.5 小结
- 第六章. 用户注册
- 6.1 章节说明
- 6.2 注册表单
- 6.3 用户数据验证
- 6.4 注册失败错误信息
- 6.5 注册成功
- 6.6 小结
- 第七章. 会话管理
- 7.1 章节说明
- 7.2 会话
- 7.3 用户登录
- 7.4 退出
- 7.5 小结
- 第八章. 用户 CRUD
- 8.1 章节说明
- 8.2 重构代码
- 8.3 更新用户
- 8.4 权限系统
- 8.5 列出所有用户
- 8.6 删除用户
- 8.7 访客模式
- 8.8 优化前端
- 8.9 小结
- 第九章. 微博 CRUD
- 9.1 章节说明
- 9.2 微博模型
- 9.3 显示微博
- 9.4 发布微博
- 9.5 微博数据流
- 9.6 删除微博
- 9.7 小结