📌  相关文章
📜  如何在 laravel 中制作模型和控制器 - PHP (1)

📅  最后修改于: 2023-12-03 15:24:15.008000             🧑  作者: Mango

如何在 Laravel 中制作模型和控制器

在 Laravel 中,我们可以轻松地制作模型和控制器来处理我们的数据和业务逻辑。本文将介绍如何在 Laravel 中制作模型和控制器的步骤及相关注意事项。

制作模型

Laravel 提供了 Artisan 命令行工具,可以通过该工具快速创建模型。以下是创建名为 Task 的模型的步骤:

  1. 打开终端并进入 Laravel 项目目录。
  2. 运行以下命令创建 Task 模型:
php artisan make:model Task
  1. app 目录下会出现一个 Task.php 文件,这就是所创建的模型。
  2. 可以在 Task.php 中定义模型的属性和方法,例如:
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Task extends Model
{
    protected $fillable = [
        'title', 'description',
    ];
}

上面的代码定义了 Task 模型具有 titledescription 两个可填属性。

制作控制器

同样地,Laravel 提供了 Artisan 命令行工具,可以通过该工具快速创建控制器。以下是创建名为 TaskController 的控制器的步骤:

  1. 打开终端并进入 Laravel 项目目录。
  2. 运行以下命令创建 TaskController 控制器:
php artisan make:controller TaskController --resource
  1. app/Http/Controllers 目录下会出现一个 TaskController.php 文件,这就是所创建的控制器。
  2. 可以在 TaskController.php 中定义控制器的方法,例如:
<?php

namespace App\Http\Controllers;

use App\Task;
use Illuminate\Http\Request;

class TaskController extends Controller
{
    public function index()
    {
        $tasks = Task::all();

        return view('tasks.index', compact('tasks'));
    }

    public function create()
    {
        return view('tasks.create');
    }

    public function store(Request $request)
    {
        Task::create([
            'title' => $request->title,
            'description' => $request->description,
        ]);

        return redirect()->route('tasks.index');
    }

    // ... 其他方法
}

上面的代码定义了 TaskController 控制器具有 indexcreatestore 三个方法,用于显示所有任务、显示创建任务的表单、存储新任务等功能。

路由

Laravel 中的路由用于定义 URL 与控制器方法之间的映射关系。以下是定义 TaskController 的路由的步骤:

  1. 打开 routes/web.php 文件。
  2. 在文件中添加以下代码:
Route::get('/tasks', 'TaskController@index')->name('tasks.index');
Route::get('/tasks/create', 'TaskController@create')->name('tasks.create');
Route::post('/tasks', 'TaskController@store')->name('tasks.store');

上面的代码定义了 tasks 路由分别与 TaskControllerindexcreatestore 三个方法进行映射。

视图

Laravel 中的视图用于定义前端页面模板。以下是 Task 相关视图的代码片段:

<!-- tasks.index -->
<table>
    <thead>
        <tr>
            <th>Title</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        @foreach($tasks as $task)
        <tr>
            <td>{{ $task->title }}</td>
            <td>{{ $task->description }}</td>
        </tr>
        @endforeach
    </tbody>
</table>

<!-- tasks.create -->
<form action="{{ route('tasks.store') }}" method="POST">
    @csrf
    <div>
        <label for="title">Title</label>
        <input type="text" name="title" id="title">
    </div>
    <div>
        <label for="description">Description</label>
        <textarea name="description" id="description"></textarea>
    </div>
    <button type="submit">Create</button>
</form>

上面的代码展示了两个视图模板,分别用于显示所有任务和创建新任务的表单。

总结

以上就是在 Laravel 中制作模型和控制器的步骤及相关注意事项。通过统一的编程模式,Laravel 大大简化了应用程序的开发流程,同时也让应用更加具有可读性和可维护性。