1.轻松学会Laravel10 博客路由与控制器

353 阅读2分钟

项目说明

  • 本项目版本为 Laravel10,笔记的初衷是为了总结自己的学习过程,但是在记录的过程中发现,记录下来的笔记可以作为以后学习的文字版教程,于是就想着记录一下,希望能够持续更新。最后,祝大家学习愉快!

本节内容

开发环境

  • 开发环境使用 laragon
  • 编辑器选用 PhpStorm

新建项目

首先启动 laragon,新建一个名为 blog 的项目: image.png

创建博客需要的控制器 创建控制器要使用到 make:controller Artisan 命令,请在 laragon 的终端中执行 artisan 命令。默认情况下,应用程序的所有控制器都存储在 app/Http/Controllers 目录中:

普通控制器命令:

php artisan make:controller IndexControlle
php artisan make:controller UserControlle

资源型控制器命令:

php artisan make:controller BolgController --resource

单行为控制器命令

php artisan make:controller CommenController --invokable

路由 在 web.php 路由文件中

// 首页
Route::get('/', [\App\Http\Controllers\IndexController::class, 'index'])
    ->name('index');

// 改变博客状态,发布与不发布
Route::patch('/blog/{id}',[\App\Http\Controllers\BlogController::class,'status'])
    ->name('blog.status');

// 博客资源路由
Route::resource('blog', \App\Http\Controllers\BlogController::class);

// 个人中心-修改个人信息-页面
Route::get('/user',[\App\Http\Controllers\UserController::class,'infoPage'])
    ->name('user.info');

// 个人中心-修改个人信息-更新数据
Route::get('/user',[\App\Http\Controllers\UserController::class,'infoUpdate'])
    ->name('user.Update');

// 个人中心-个人头像-页面
Route::get('/user/avatar',[\App\Http\Controllers\UserController::class,'avatarPage'])
    ->name('user.avatar');

// 个人中心-个人头像-更新数据
Route::put('/user/avatar',[\App\Http\Controllers\UserController::class,'avatarUpdate'])
    ->name('user.avatar.update');

// 个人中心-所有博客
Route::get('/user/blog',[\App\Http\Controllers\UserController::class,'blog'])
    ->name('user.blog');

// 评论博客
Route::post('/blog/{id}/comment',\App\Http\Controllers\CommenController::class)
    ->name('blog.comment');

查看路由命令

php artisan route:list

image.png

控制器

来到IndexControlle 控制器内容:

/****
 * 博客首页
 */
public function index()
{
    return 123;
}

来到UserControlle 控制器内容:

/**
 * 个人信息页面
 */
public function infoPage()
{

}

/**
 * 个人信息-执行修改
 */
public function infoUpdate()
{

}

/**
 * 头像页面
 */
public function avatarPage()
{

}

/**
 * 头像-执行修改
 */
public function avatarUpdate()
{

}

/**
 * 我的所有博客
 */
public function blog()
{

}

来到BolgController 控制器内容:

/**
 * 添加博客的页面
 */
public function create()
{
    return '添加博客的页面';
}

/**
 * 执行博客的添加
 */
public function store(Request $request)
{
    //
}

/**
 * 查看一条博客详情
 */
public function show(string $id)
{
    return '查看一条博客详情';
}

/**
 * 编辑页面
 */
public function edit(string $id)
{
    //
}

/**
 * 执行更新
 */
public function update(Request $request, string $id)
{
    //
}

/**
 * 删除博客
 */
public function destroy(string $id)
{
    //
}

// 改变博客状态
public function seatus($id)
{

}

来到CommenController 控制器内容:

/**
 * 评论博客
 * Handle the incoming request.
 */
public function __invoke(Request $request)
{
    //
}