laravel8快速开发简单博客系统(二)

8 篇文章 0 订阅

目录

一、创建文章增删改成提交的控制器

1、注释文章查看权限,非登录状态可以查看文章列表页

2、创建提交控制器post

3、创建数据表

4、创建提交post资源路由

5、创建post控制器view目录post

二、文章添加功能实现

1.模板显示

2.复制home.blade.php模板到post下命名为create.blade.php

 3、控制器实现post

三、文章修改

1、控制器显示post

2、创建edit.blade.php模板文件

3、文章修改保存控制器

四、文章列表显示

1、模板文件home.blade.php

五、删除文章

1、模板home.blade.php

2、删除控制器post


laravel8快速开发简单博客系统(一)-CSDN博客

一、创建文章增删改成提交的控制器

1、注释文章查看权限,非登录状态可以查看文章列表页

   注释HomeController.php下//$this->middleware('auth');

修改模板文件

运行Sooma

2、创建提交控制器post

php artisan make:model Post --migration --resource

创建资源控制器(自动生成增删改查方法)和数据表

成功多了以下文件

 

3、创建数据表

增加数据表字段

更新数据表

php artisan migrate

 

4、创建提交post资源路由
Route::get('/', [App\Http\Controllers\HomeController::class, 'index'])->name( 'home');
Route::resource('/posts',App\Http\Controllers\PostController::class)->middleware('auth');

5、创建post控制器view目录post

 

二、文章添加功能实现

1.模板显示

2.复制home.blade.php模板到post下命名为create.blade.php

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <h2>提交</h2>
            @if($errors->any())
                <div class="alert alert-danger">
                    <ul>
                        @foreach( $errors->all() as $error)
                            <li>{{ $error }}</li>
                        @endforeach
                    </ul></div>
            @endif
            @if(session('success'))
                <div class='alert alert-success'>Updated Successfully!</div>
            @endif
            <form action="{{ route('posts.store') }}" method="post">
                @csrf
                <div class="form-group">
                    <label for="title">标题</label>
                    <input type="text" class="form-control" id="title" name="title">
                </div>
                <div class="form-group">
                    <label for="title">内容</label>
                    <textarea  class="form-control" id="content" name="content" role="4"></textarea>
                </div>
                <button type="submit" class="btn btn-primary">提交</button>
            </form>



        </div>
    </div>
</div>
@endsection
 3、控制器实现post
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
        $request->validate(['title'=>'required','content'=>'required']);
        $post=new Post;
        $post->title=request('title');
        $post->content=request('content');
        $post->uid=\Auth::id();
        $post->save();
       return redirect()->to('/');
    }

三、文章修改

1、控制器显示post
  /**
     * Show the form for editing the specified resource.
     *
     * @param  \App\Models\Post  $post
     * @return \Illuminate\Http\Response
     */
    public function edit(Post $post)
    {
        //
        return  view('post.edit',compact('post'));
    }
2、创建edit.blade.php模板文件
@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <h2>修改提交</h2>
            @if($errors->any())
                <div class="alert alert-danger">
                <ul>
                    @foreach( $errors->all() as $error)
                        <li>{{ $error }}</li>
                    @endforeach
                </ul></div>
            @endif
            @if(session('success'))
                <div class='alert alert-success'>Updated Successfully!</div>
             @endif
            <form action="{{ route('posts.update',[$post->id]) }}" method="post">
                @csrf
                @method('put')
                <div class="form-group">
                    <label for="title">标题</label>
                    <input type="text" class="form-control" id="title" name="title" value="{{ $post->title }}">
                </div>
                <div class="form-group">
                    <label for="title">内容</label>
                    <textarea  class="form-control" id="content" name="content" role="4" >{{ old('content',$post->content) }}</textarea>
                </div>
                <button type="submit" class="btn btn-primary">提交</button>
            </form>



        </div>
    </div>
</div>
@endsection
3、文章修改保存控制器
   public function update(Request $request, Post $post)
    {
        $request->validate(['title'=>'required','content'=>'required']);
        $post->title=request('title');
        $post->content=request('content');
        $post->uid=\Auth::id();
        $post->save();
        return redirect()->route('posts.edit',[$post->id])->with('success',true);
    }

四、文章列表显示

1、模板文件home.blade.php
@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            @foreach(App\Models\Post::orderBy('created_at','DESC')->get() as $post)
            <div class="card">
                <div class="card-header">{{ $post->id }}&&{{ $post->title }}*****{{ $post->created_at }}</div>
               <a href="{{ route('posts.edit',[$post->id] ) }}">修改</a>
                     <form action="{{ route('posts.destroy',[$post->id]) }}" method="post">
                    <button type="submit" class="btn alert-danger"><a href="#">删除</a></button>
              @csrf
               @method('delete')
                </form>

                <div class="card-body">
               {{ $post->content }}
                </div>
            </div>
                @endforeach
        </div>
    </div>
</div>
@endsection

五、删除文章

1、模板home.blade.php
  <form action="{{ route('posts.destroy',[$post->id]) }}" method="post">
                    <button type="submit" class="btn alert-danger"><a href="#">删除</a></button>
                 @csrf
                  @method('delete')
                </form>
2、删除控制器post
    public function destroy(Post $post)
    {
        //
        $post->delete();
        return redirect()->to('/');
    }

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Laravel8 是一个流行的 PHP Web 框架,它提供了许多便捷的功能和工具,可以使 Web 开发变得更加快速和高效。下面是一个 Laravel8 的快速入门指南: 1. 安装 Laravel8:可以通过 Composer 来安装 Laravel8,命令如下: ``` composer create-project --prefer-dist laravel/laravel blog ``` 这个命令会在当前目录下创建一个名为 "blog" 的 Laravel8 项目。 2. 配置数据库:在 Laravel8 中,配置数据库非常简单,只需要在 .env 文件中添加数据库相关的配置即可,例如: ``` DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD= ``` 3. 创建控制器:可以通过以下命令来创建一个控制器: ``` php artisan make:controller UserController ``` 这个命令会在 app/Http/Controllers 目录下创建一个名为 UserController 的控制器文件。 4. 创建路由:在 Laravel8 中,可以通过路由来定义 URL 和控制器之间的关系,例如: ``` Route::get('/user', 'UserController@index'); ``` 这个路由定义了当访问 /user URL 时,会调用 UserController 的 index 方法。 5. 创建视图:在 Laravel8 中,可以通过视图来定义页面的 HTML 代码,例如: ``` <!DOCTYPE html> <html> <head> <title>My Blog</title> </head> <body> <h1>Welcome to my blog</h1> </body> </html> ``` 这个视图定义了一个简单的 HTML 页面。 6. 渲染视图:在控制器中,可以通过以下代码来渲染视图: ``` return view('welcome'); ``` 这个代码会渲染名为 "welcome" 的视图文件。 以上就是 Laravel8 的快速入门指南,希望能够帮助你快速上手 Laravel8。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PHP隔壁老王邻居

啦啦啦啦啦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值