Sử dụng FastAdmin để xây dựng nhanh hệ thống quản trị

FastAdmin là một khung phát triển backend dựa trên ThinkPHP5 và Bootstrap, hỗ trợ tạo giao diện quản trị nhanh chóng với nhiều tính năng sẵn có.

1. Cài đặt môi trường WAMP

Tải và cài đặt phiên bản mới nhất của WAMP Server từ trang chủ. Sau khi khởi động dịch vụ, nếu truy cập 127.0.0.1 được nhưng localhost không hoạt động, cần chỉnh sửa file cấu hình Apache:

  • Mở file httpd.conf
  • Tìm đoạn cấu hình liên quan đến quyền truy cập và thay đổi như sau:
# Đảm bảo dòng sau được bật
Order Deny,Allow
Deny from all
Allow from all

Sau đó khởi động lại Apache.

2. Thiết lập mật khẩu MySQL

Mật khẩu mặc định của MySQL trong WAMP thường để trống. Truy cập MySQL Console và thực hiện các lệnh sau để thiết lập lại mật khẩu cho tài khoản root (lưu ý: với phiên bản MySQL mới, trường password đã được thay thế bằng authentication_string):

USE mysql;
UPDATE user SET authentication_string = PASSWORD('ms2017!') WHERE user = 'root';
FLUSH PRIVILEGES;
QUIT;

3. Cài đặt FastAdmin

Tải gói cài đặt FastAdmin từ trang chính thức, giải nén vào thư mục D:/wamp/www/ và đổi tên thành fastad. Truy cập đường dẫn sau để bắt đầu cài đặt:

http://localhost/fastad/public/install

Điền thông tin kết nối cơ sở dữ liệu (tên database, mật khẩu MySQL) để hoàn tất quá trình cài đặt.

4. Thiết kế bảng dữ liệu

Sử dụng phpMyAdmin để tạo bảng. Lưu ý rằng mỗi trường dữ liệu nên có chú thích (comment), vì FastAdmin dựa vào chú thích này để tự động sinh giao diện phù hợp:

Kiểu dữ liệu Mô tả Giao diện sinh tự động
intSố nguyênInput number (step=1)
enumGiá trị liệt kêDropdown đơn
setNhiều giá trị chọnDropdown đa chọn
floatSố thập phânInput number (step theo số chữ số thập phân)
textVăn bản dàiTextarea
datetime / timestampThời gian đầy đủPicker ngày giờ
dateChỉ ngàyPicker ngày

Các trường đặc biệt có ý nghĩa trong FastAdmin:

Tên trường Kiểu dữ liệu Chức năng
category_idintTự động tạo dropdown chọn danh mục (theo tên bảng không có tiền tố)
category_idsvarcharDropdown chọn nhiều danh mục
weighintTrường sắp xếp – kích hoạt kéo-thả trong danh sách
createtimeintThời gian tạo – tự động ghi nhận
updatetimeintThời gian cập nhật – tự động ghi nhận

5. Tự động sinh CRUD

Di chuyển vào thư mục dự án FastAdmin và chạy lệnh CLI để tạo giao diện quản trị cho bảng fa_table_name:

php think crud -t table_name -u 1

Một số lệnh phổ biến khác:

# Tạo CRUD cho bảng test
php think crud -t test

# Tạo CRUD + menu
php think crud -t test -u 1

# Xóa CRUD đã tạo
php think crud -t test -d 1

# Tạo controller trong thư mục con
php think crud -t test -c mydir/test

# Chỉ định tên controller khác
php think crud -t test_log -c testlog

# Chỉ định tên model
php think crud -t test -m testmodel

# Thiết lập quan hệ với bảng category qua khóa ngoại category_id
php think crud -t test -r category -k category_id -p id

# Tự động render checkbox cho các field có hậu tố 'list' hoặc 'data'
php think crud -t test --setcheckboxsuffix=list --setcheckboxsuffix=data

# Tự động render upload ảnh cho field có hậu tố 'image' hoặc 'img'
php think crud -t test --imagefield=image --imagefield=img

# Quan hệ nhiều bảng
php think crud -t test --relation=category --relation=admin --relationforeignkey=category_id --relationforeignkey=admin_id

6. Cấu hình quyền và tùy chỉnh

Sau khi sinh xong CRUD, đăng nhập vào hệ thống quản trị để phân quyền cho vai trò người dùng. Cuối cùng, tùy chỉnh giao diện và logic nghiệp vụ theo yêu cầu thực tế.

Thẻ: FastAdmin ThinkPHP5 Bootstrap CRUD mysql

Đăng vào ngày 18 tháng 7 lúc 08:21