Nền tảng Kiến thức - Hành trang tới Tương lai
Card image

Chương 4-Bài 3. Thực hiện code theo mô hình kiến trúc MVC vận hành trong Framework Laravel

Tác giả: Dương Nguyễn Phú Cường #2341
Ngày đăng: Hồi xưa đó
Lượt xem: 521

Thực hiện tạo màn hình hiển thị HELLO

Mô hình hoạt động của hello:

Step 1: tạo controller quản lý các action ví dụ

  • Chạy câu lệnh để tạo controller bằng artisan
php artisan make:controller ExampleController
  • Tên controller nên giữ lại hậu tố (suffix) là controller
  • Laravel sẽ tạo cho bạn file nằm trong app/Http/Controllers/ExampleController.php

Step 2: tạo các routes

  • Hiệu chỉnh file routes/web.php
// route Hiển thị màn hình hello
Route::get('/hello', 'ExampleController@hello')->name('example.hello');
  • Tạo mới route /hello để điều hướng đến thực thi action hello trong ExampleController
  • Theo quy ước, và để thuận tiện quản lý các route. Chúng ta sẽ đặt tên với mỗi route.
  • Kiểm tra các route bằng câu lệnh:
php artisan route:list

Step 3: viết code cho action hello():

  • Action hello() thường dùng để hiển thị màn hình chào mừng với chữ HELLO LARAVEL
Hiệu chỉnh file app/Http/Controllers/ExampleController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class ExampleController extends Controller
{
    public function hello()
    {
        // khi gọi hàm view(), có một số lưu ý: 
        // - Mặc định thư mục gốc là `resources/views`
        // - Từ thư mục gốc, việc phân cách thư mục sẽ sử dụng dấu .
        // - Tên view không cần khai báo đuôi file (extension) `blade.php`
        
        // => view được gọi hiển thị sẽ nằm trong thư mục `resources/views/example/hello.blade.php'
        return view('example.hello');
    }
}

Step 4: tạo view index.blade.php

  • Để dễ dàng quản lý các view, ta sẽ tạo 1 thư mục tương ứng với tên Controller, mỗi action sẽ tương ứng với tên view.
  • Tạo folder resources/views/example
  • Tạo file resources/views/example/hello.blade.php
<div style="background-color: #DAE8FC; text-align: center; ">
    <h1>HELLO LARAVEL</h1>
    <a href="https://nentang.vn">nentang.vn</a>
</div>
Kiểm tra action hello
  • Chạy câu lệnh php artisan serve để khởi động server
  • Truy cập địa chỉ http://127.0.0.1:8000/hello để kiểm tra kết quả.

Bài tập

Thực hiện code theo mô hình MVC để bắt các request GET được gởi thông qua các URL sau:
  1. /gioithieubanthan: hiển thị view thông tin giới thiệu bản thân của bạn
  2. /hoctap/php: hiển thị view giới thiệu vài dòng ngắn gọn PHP là gì?
  3. /hoctap/laravel: hiển thị view cho biết phiên bản mới nhất của Laravel là bao nhiêu?
  4. /ngayhomnay: hiển thị view cho biết hôm nay ngày mấy? Bây giờ là mấy giờ? Theo định dạng dd/mm/yyyy HH:mm:ss