Type something to search...
Tạo một ứng dụng CRUD đơn giản với Laravel là cách tuyệt vời để làm quen với framework này

Tạo một ứng dụng CRUD đơn giản với Laravel là cách tuyệt vời để làm quen với framework này

Tạo một ứng dụng CRUD đơn giản với Laravel là cách tuyệt vời để làm quen với framework này. CRUD là viết tắt của Create, Read, Update, Delete - bốn thao tác cơ bản của một ứng dụng web. Dưới đây là hướng dẫn từng bước để tạo một ứng dụng CRUD đơn giản trong Laravel.

1. Cài đặt Larave`l

Đầu tiên, bạn cần cài đặt một dự án Laravel mới. Mở terminal hoặc command prompt và chạy các lệnh sau:

bash
Sao chép mã
composer create-project --prefer-dist laravel/laravel crud-app
cd crud-app
php artisan serve

Điều này sẽ khởi động một server phát triển tại http://localhost:8000.

2. Cấu hình cơ sở dữ liệu

Mở tệp .env và cập nhật cấu hình cơ sở dữ liệu của bạn:

dotenv
Sao chép mã
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=crud_db
DB_USERNAME=root
DB_PASSWORD=

Tạo cơ sở dữ liệu crud_db trong MySQL bằng công cụ quản lý cơ sở dữ liệu bạn ưa thích (phpMyAdmin, HeidiSQL, …).

3. Tạo Migration và Model

Tiếp theo, tạo một model và migration cho Post bằng lệnh Artisan:

bash
Sao chép mã
php artisan make:model Post -m

Mở tệp migration trong database/migrations/ và cập nhật như sau:

php
Sao chép mã
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
});
}

Chạy migration để tạo bảng trong cơ sở dữ liệu:

bash
Sao chép mã
php artisan migrate

4. Tạo Controller và Routes

Tạo một controller để quản lý các thao tác CRUD:

bash
Sao chép mã
php artisan make:controller PostController --resource

Mở tệp routes/web.php và thêm các routes cho Post:

php
Sao chép mã
use App\Http\Controllers\PostController;

Route::resource('posts', PostController::class);

5. Tạo Views

Tạo các view để hiển thị và thao tác với dữ liệu. Trong thư mục resources/views/, tạo thư mục posts và các tệp sau:

  • index.blade.php
  • create.blade.php
  • edit.blade.php
  • show.blade.php

index.blade.php:

  blade
  Sao chép mã
  @extends('layout')

@section('content')

<h1>Posts</h1>
<a href="{{ route('posts.create') }}">Create Post</a>
<ul>
@foreach($posts as $post)
<li>
<a href="{{ route('posts.show', $post->id) }}">{{ $post->title }}</a>
<a href="{{ route('posts.edit', $post->id) }}">Edit</a>
<form action="{{ route('posts.destroy', $post->id) }}" method="POST">
@csrf
@method('DELETE')
<button type="submit">Delete</button>
</form>
</li>
@endforeach
</ul>
@endsection

create.blade.php:

blade
Sao chép mã
@extends('layout')

@section('content')

<h1>Create Post</h1>
<form action="{{ route('posts.store') }}" method="POST">
@csrf
<input type="text" name="title" placeholder="Title">
<textarea name="content" placeholder="Content"></textarea>
<button type="submit">Create</button>
</form>
@endsection

edit.blade.php:

blade
Sao chép mã
@extends('layout')

@section('content')

<h1>Edit Post</h1>
<form action="{{ route('posts.update', $post->id) }}" method="POST">
@csrf
@method('PUT')
<input type="text" name="title" value="{{ $post->title }}">
<textarea name="content">{{ $post->content }}</textarea>
<button type="submit">Update</button>
</form>
@endsection

show.blade.php:

blade
Sao chép mã
@extends('layout')

@section('content')

<h1>{{ $post->title }}</h1>
<p>{{ $post->content }}</p>
<a href="{{ route('posts.index') }}">Back to posts</a>
@endsection

layout.blade.php:

blade
Sao chép mã

<!DOCTYPE html>
<html>
<head>
    <title>Laravel CRUD</title>
</head>
<body>
    @yield('content')
</body>
</html>

6. Cập nhật Controller

Mở app/Http/Controllers/PostController.php và cập nhật như sau:

php
Sao chép mã
namespace App\Http\Controllers;

use App\Models\Post;
use Illuminate\Http\Request;

class PostController extends Controller
{
public function index()
{
$posts = Post::all();
return view('posts.index', compact('posts'));
}

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

    public function store(Request $request)
    {
        Post::create($request->all());
        return redirect()->route('posts.index');
    }

    public function show(Post $post)
    {
        return view('posts.show', compact('post'));
    }

    public function edit(Post $post)
    {
        return view('posts.edit', compact('post'));
    }

    public function update(Request $request, Post $post)
    {
        $post->update($request->all());
        return redirect()->route('posts.index');
    }

    public function destroy(Post $post)
    {
        $post->delete();
        return redirect()->route('posts.index');
    }

}

7. Kiểm tra ứng dụng

Mở trình duyệt và truy cập http://localhost:8000/posts để kiểm tra ứng dụng CRUD của bạn. Bạn sẽ có thể tạo, đọc, cập nhật và xóa các bài viết.

Với hướng dẫn này, bạn đã tạo thành công một ứng dụng CRUD đơn giản trong Laravel. Laravel cung cấp nhiều tính năng mạnh mẽ giúp phát triển ứng dụng nhanh chóng và dễ dàng.

Tags :

Related Posts

1993 - Trình duyệt giao diện đồ hoạ đầu tiên

1993 - Trình duyệt giao diện đồ hoạ đầu tiên

Trước khi đi sâu vào lịch sử trình duyệt Mosaic của NCSA, hãy cùng tìm hiểu lý do tại sao Mosaic lại mang tính cách mạng đến vậy. Vào đầu những năm 1990, việc sử dụng Internet đòi hỏi sự hiểu biết về

read more
Cài Đặt Laravel: Hướng Dẫn Từng Bước Để Bắt Đầu

Cài Đặt Laravel: Hướng Dẫn Từng Bước Để Bắt Đầu

1. Yêu cầu hệ thống: Trước tiên, hãy đảm bảo rằng máy tính của bạn đáp ứng các yêu cầu hệ thống sau: PHP >= 8.1 Composer (trình quản lý phụ thuộc cho PHP) Một máy chủ web như Apache hoặc Ngin

read more
Các cấp  độ lập trình viên và lộ trình thăng tiến trong ngành

Các cấp độ lập trình viên và lộ trình thăng tiến trong ngành

Intern/FresherFresher là những sinh viên mới tốt nghiệp ngành CNTT hoặc những bạn vừa học xong một khoá học tại trung tâm đào tạo vè lập trình. Họ đều mới bắt đầu bước chân vào công việc của

read more
Giới thiệu các lỗ hổng bảo mật phổ biến

Giới thiệu các lỗ hổng bảo mật phổ biến

CUỘC SỐNG TRƯỚC IPHONE Các lỗ hổng bảo mật phổ biến và cách thức tấn công Trong thời đại công nghệ ngày nay, các lỗ hổng bảo mật trên các ứng dụng web và hệ thống thông tin đóng vai trò vô cùng q

read more
Hosting là gì cần biết những gì về host

Hosting là gì cần biết những gì về host

Hosting là gì? Hosting là không gian lưu trữ trên máy chủ để lưu trữ các tệp tin, dữ liệu của một trang web hoặc một ứng dụng. Vai trò của hosting là tạo ra một không gian trên máy chủ để cho phé

read more
Khi bắt đầu với Laravel

Khi bắt đầu với Laravel

Khi bắt đầu với Laravel, việc làm quen với cấu trúc thư mục của nó là điều quan trọng giúp bạn hiểu rõ hơn về cách tổ chức mã nguồn và dễ dàng quản lý dự ## án. Dưới đây là một hướng dẫn chi tiết về

read more
Làm thế nào để website hoạt động có hiệu quả?

Làm thế nào để website hoạt động có hiệu quả?

Phân bổ nhân lực quản trị website Khi bạn lên kế hoạch cho việc thiết kế web đồng nghĩa với việc bạn cần lên kế hoạch cho việc cập nhật nội dung, kiểm soát hoạt động của website, theo dõi và xử l

read more
Nguồn tài liệu học tập cho ngành lập trình Web

Nguồn tài liệu học tập cho ngành lập trình Web

Codecademy Codecademy cam kết mang đến cho bạn những trải nghiệm học tập tốt nhất và nhất quán, đây là một trong những trang web tuyệt vời nhất để bạn học cách lập trình. Code Academy nhận ra rằn

read more
Nên học rộng hay sâu

Nên học rộng hay sâu

Học nhiều ngôn ngữ và công nghệ hay tập trung vào một nhóm ngôn ngữ, công nghệ nhất định? Có thể nói, nên học một hay học nhiều ngôn ngữ lập trình, khi nào cần học một ngôn ngữ mới là điều mà rất

read more
Phân Biệt Front-end, Back-end và Full-stack &  Lựa Chọn Hướng Phát Triển Phù Hợp

Phân Biệt Front-end, Back-end và Full-stack & Lựa Chọn Hướng Phát Triển Phù Hợp

Trong thế giới phát triển phần mềm, có ba vai trò chính được phân biệt rõ ràng: Front-end, Back-end và Full-stack. Mỗi vai trò này có những trách nhiệm và kỹ năng khác nhau, và việc lựa chọn hướng ph

read more
Technical stack là gì tiêu chí để lựa chọn stack phù hợp

Technical stack là gì tiêu chí để lựa chọn stack phù hợp

Techstack là gì? Techstack là tập hợp các công nghệ được sử dụng để phát triển một ứng dụng, bao gồm ngôn ngữ lập trình, khung, cơ sở dữ liệu, công cụ mặt trước và mặt sau cũng như API. Các lựa c

read more
Tại sao laravel lại là một framework PHP tuyệt vời cho người mới

Tại sao laravel lại là một framework PHP tuyệt vời cho người mới

Tại sao laravel lại là một framework PHP tuyệt vời cho người mới ? Laravel là một framework PHP tuyệt vời cho người mới bắt đầu vì nhiều lý do, từ tài liệu phong phú, cộng đồng hỗ trợ lớn, đến các

read more
Vì sao lại cần có 1 kế hoạch thiết kế web

Vì sao lại cần có 1 kế hoạch thiết kế web

Vì sao lại cần có 1 kế hoạch thiết kế web?Thiết kế website giúp khẳng định thương hiệu và thu hút khách hàng. Một website với giao

read more
Web php có ưu điểm gì?

Web php có ưu điểm gì?

Web php có ưu điểm gì?Website được thiết kế bằng PHP ít mã code, dễ sử dụng Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh,

read more
Điện toán đám mây

Điện toán đám mây

Điện toán đám mây là xu hướng quan trọng nhất trong nền công nghiệp công nghệ thông tin. Ngay cả những nhà phê bình lớn nhất dường như đồng ý rằng: Điện toán đám mây là một trong những thay đổi mô hì

read more