TRƯỜNG CAO ĐẲNG CƠ ĐIỆN HÀ NI
KHOA CÔNG NGH THÔNG TIN
GIÁO TRÌNH
XÂY DNG WEBSITE S DNG FRAMEWORK
(Lưu hành nội b)
Hà Nội năm 2024
1
MC LC
Bài 1: Gii thiu v Laravel .................................................................................. 4
Ưu điểm ca Laravel ....................................................................................... 4
Các tính năng của Laravel .............................................................................. 5
Bài 2: Cài đặt Laravel ........................................................................................... 7
Bài 3: Cu trúc ng dng Laravel ....................................................................... 10
Bài 4: Cu hình Laravel ...................................................................................... 15
Cấu hình môi trường ..................................................................................... 15
Truy xut các biến môi trường ...................................................................... 16
Chế độ bo trì ................................................................................................ 17
Bài 5: Định tuyến (Routing) ............................................................................... 20
Định tuyến cơ bản ......................................................................................... 20
Định tuyến các tham s ................................................................................. 23
Đặt tên các định tuyến................................................................................... 24
Bài 6: Middleware ............................................................................................... 25
Đăng ký Middleware..................................................................................... 26
Các Tham s middleware ............................................................................. 27
Terminable Middleware ................................................................................ 30
Bài 7: Request trong Laravel .............................................................................. 34
Ly Request URI........................................................................................... 34
Ly d liệu đầu vào (input) ........................................................................... 35
Bài 8: Response trong laravel ............................................................................. 39
Response cơ bản ........................................................................................... 39
Đính kèm các header .................................................................................... 39
Đính kèm Cookies ........................................................................................ 40
Phn hi JSON ............................................................................................. 41
Bài 9: Controllers ................................................................................................ 42
To mt controller ........................................................................................ 42
Controller Middleware ................................................................................. 43
Restful Resource Controllers ....................................................................... 48
Bài 10: Models .................................................................................................... 51
Model là gì? .................................................................................................. 51
To Model .................................................................................................... 51
2
Bài 11: Migrations .............................................................................................. 53
Các lệnh Artisan Migration .......................................................................... 53
Tạo một Migration cơ sở dữ liệu mới .......................................................... 54
Cấu trúc của Migration ................................................................................ 54
Bài 12: Views ...................................................................................................... 58
Truyn d liu cho views ............................................................................. 59
Chia s d liu vi tt c Views ................................................................... 60
Bài 13: Blade Template....................................................................................... 62
Cu trúc Blade Layout ................................................................................. 63
Các bước để to Blade Template Layout & Hin th d liu trong Blade
views: ........................................................................................................... 64
Các lnh Blade Template ............................................................................. 66
Bài 14: Cookie .................................................................................................... 72
To cookie .................................................................................................... 72
Truy xut Cookie .......................................................................................... 72
Bài 15: Sessions .................................................................................................. 75
Bài 16: Điều hướng (redirection) ........................................................................ 78
Điều hướng ti Named Routes ..................................................................... 78
Điều hướng ti các action ca controller ..................................................... 79
Bài 17: Làm vic với Cơ sở d liu .................................................................... 81
Kết nối với cơ sở dữ liệu .............................................................................. 81
Làm vic vi CSDL Insert ........................................................................ 81
m vic vi CSDL Select ....................................................................... 84
Làm vic vi CSDL Update ...................................................................... 86
Làm vic vi CSDL Delete ....................................................................... 90
Bài 18: Form ....................................................................................................... 94
Bài 19: Xác thc d liu (Validation) ................................................................. 98
Các quy tc validation có sn trong Laravel ................................................ 98
Bài 20: Đa ngôn ngữ (Localization) ................................................................. 103
Bài 21: Upload file ............................................................................................ 106
Bài 22: Gi mail ................................................................................................ 109
Bài 23: AJAX .................................................................................................... 113
Bài 24: Xli ................................................................................................ 115
3
Những điểm quan trọng ............................................................................. 115
Nhật ký lỗi (Error Log) .............................................................................. 116
Mức độ nghiêm trọng ................................................................................. 117
Bài 25: Bo v CSRF ........................................................................................ 118
Thc hin .................................................................................................... 118
Form không có CSRF token ....................................................................... 118
Form vi CSRF token ................................................................................ 119
Bài 26: Xác thc (Authentication) .................................................................... 121
Lnh ............................................................................................................ 121
Controller ................................................................................................... 121
Xác thực người dùng th công ................................................................... 123
Bài 27: y quyn (Authorization) .................................................................... 124
S khác bit gia Xác thc và y quyn ................................................... 124
Cơ chế y quyn trong Laravel .................................................................. 124
4
Bài 1: Gii thiu v Laravel
Laravel một framework PHP nguồn mở, mạnh mẽ dễ hiểu.
tuân theo một mẫu thiết kế model-view-controller. Laravel sử dụng lại các thành
phần hiện có của các khung khác nhau để giúp tạo ra một ứng dụng web. Do đó,
ứng dụng web được thiết kế có cấu trúc và thực dụng hơn.
Laravel cung cấp một tập hợp các chức ng phong phú kết hợp các nh
năng bản của các framework PHP nCodeIgniter, Yii các ngôn nglập
trình khác như Ruby on Rails. Laravel có một bộ tính năng rất phong phú sẽ giúp
tăng tốc độ phát triển web.
Nếu bạn đã quen thuộc với Core PHP Advanced PHP, Laravel sẽ giúp
công việc của bạn dễ dàng hơn. Nó tiết kiệm rất nhiều thời gian nếu bạn đang có
kế hoạch phát triển một trang web từ đầu. Hơn nữa, một trang web được xây dựng
trong Laravel là an toàn và ngăn chặn một số cuộc tấn công web.
Ưu điểm của Laravel
Khi bạn đang thiết kế một ứng dụng web dựa trên Laravel, cung cấp
cho bạn những lợi thế sau:
Ứng dụng web trở nên khả năng mở rộng hơn, nhờ vào framework
Laravel.
Tiết kiệm đáng kể thời gian trong việc thiết kế ứng dụng web, Laravel
sử dụng lại các thành phần từ framework khác trong việc phát triển ứng
dụng web.
Nó bao gồm các không gian tên và giao diện, do đó hữu ích trong việc
tổ chức và quản lý tài nguyên.
Composer
Composer một công cụ bao gồm tất cả các dependencies thư viện.
cho phép người dùng tạo một dự án liên quan đến framework đã đề cập (ví
dụ: những dự án được sử dụng trong cài đặt Laravel). Thư viện của bên thứ ba
thể được cài đặt dễ dàng với sự trợ giúp của composer.
Tất cả các dependencies được ghi chú trong tệp composer.json được đặt
trong thư mục nguồn.
Artisan
Giao diện dòng lệnh được sử dụng trong Laravel được gọi Artisan. Nó
bao gồm một tập hợp các lệnh hỗ trợ xây dựng một ứng dụng web. Các lệnh này
được kết hợp từ framework Symphony..