Nội dung được tác giả trình bày cô động, dễ hiểu kèm theo các bước hướng dẫn thực hành chi tiết theo nguyên tắc quan tâm đến kết quả đầu ra, khả năng tự học và kỹ năng cần thiết để HSSV [r]
(1)UBND TỈNH BÀ RỊA – VŨNG TÀU
TRƯỜNG CAO ĐẲNG KỸ THUẬT CÔNG NGHỆ
GIÁO TRÌNH
MƠ ĐUN LẬP TRÌNH WEB VỚI LARAVEL FRAMEWORK NGHỀ: CƠNG NGHỆ THƠNG TIN
TRÌNH ĐỘ CAO ĐẲNG
(Ban hành kèm theo Quyết định số: ……/QĐ-CĐKTCN, ngày … tháng … năm 20…… Hiệu trưởng Trường Cao đẳng Kỹ thuật Công nghệ BR-VT)
(2)TUYÊN BỐ BẢN QUYỀN
Nhằm đáp ứng nhu cầu học tập nghiên cứu cho giảng viên sinh viên nghề Công nghệ Thông tin trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa – Vũng Tàu, chúng tơi thực biên soạn tài liệu Lập trình web với Laravel framework
Tài liệu biên soạn thuộc loại giáo trình phục vụ giảng dạy học tập, lưu hành nội Nhà trường nên nguồn thơng tin phép dùng ngun trích dùng cho mục đích đào tạo tham khảo
(3)LỜI GIỚI THIỆU
Giáo trình “Lập trình web với Laravel framework” biên soạn dựa khung chương trình đào tạo Cao đẳng nghề Công nghệ Thông tin Trường Cao đẳng Kỹ thuật Công nghê Bà Rịa – Vũng Tàu phê duyệt
Tác giả nghiên cứu số tài liệu, công nghệ đại kết hợp với kinh nghiệm làm việc thực tế để viết nên giáo trình Nội dung tác giả trình bày động, dễ hiểu kèm theo bước hướng dẫn thực hành chi tiết theo nguyên tắc quan tâm đến kết đầu ra, khả tự học kỹ cần thiết để HSSV hồn thành ứng dụng web quảng cáo sản phẩm, thương mại điện tử, … Laravel framework, framework thông dụng nay, đáp ứng nhu cầu thực tế doanh nghiệp
Nội dung giáo trình chia thành 13 bài, đó: Bài 1: Tổng quan
Bài 2: Tạo Laravel site Bài 3: Routing
Bài 4: Middleware Bài 5: Controller
Bài 6: Resource controller Bài 7: Truy xuất sở liệu Bài 8: Phân trang
Bài 9: Xây dựng blade template Bài 10: Chứng thực
Bài 11: Session
Bài 12: Quản lý người dùng
Bài 13: Gửi email upload tập tin
(4)Xin chân thành cảm ơn quý đồng nghiệp, bạn bè có ý kiến đóng góp trình biên soạn giáo trình
Bà Rịa – Vũng Tàu, ngày …… tháng …… năm ……… Tham gia biên soạn
(5)MỤC LỤC
LỜI GIỚI THIỆU
MỤC LỤC
BÀI 1: TỔNG QUAN VỀ LARAVEL
1 Mô hình MVC
2 Cài đặt Composer 10
CÂU HỎI, BÀI TẬP 15
GỢI Ý, ĐÁP ÁN 15
BÀI 2: TẠO LARAVEL SITE 16
1 Một số lệnh tạo chạy Laravel site 16
1.1 Xem lệnh composer: composer 16
1.2 Tạo Laravel site 16
1.3 Chạy Laravel site 17
2 Cấu trúc thư mục Laravel site 18
3 Cấu hình tập tin config/database.php kết nối đến CSDL MySQL 18
CÂU HỎI, BÀI TẬP 18
BÀI 3: ROUTING 19
1 Cú pháp 19
2 Route chuyển tiếp 20
3 Route có tham số 20
4 Đặt tên cho route 21
BÀI 4: MIDDLEWARE 22
1 Khái niệm 22
2 Định nghĩa Middleware 22
2.1 Tạo Middleware 22
2.2 Middleware trước sau 24
(6)3.1 Đăng ký toàn cục (Global Middleware) 25
3.2 Đăng ký đến route 25
3.3 Gom nhóm Middleware 26
3.4 Sắp xếp thứ tự Middleware 27
4 Middleware có tham số 27
5 Hàm terminate 28
BÀI 5: CONTROLLER 30
1 Khái niệm 30
2 Tạo controller 30
3 Định nghĩa hàm (hành động) controller 31
4 Tạo view cho hàm controller 32
5 Truyền liệu route, controller, view 32
6 Single Action Controllers (Controller có hàm) 34
7 Controller Middleware 36
BÀI 6: RESOURCE CONTROLLER 37
1 Khái niệm 37
2 Tạo Resource controller 38
3 Xử lý hàm index hiển thị danh sách chủ đề 40
4 Xử lý hàm create store để thêm liệu 40
5 Xử lý hàm edit update để sửa liệu 41
6 Xử lý hàm destroy để xóa liệu 43
CÂU HỎI, BÀI TẬP 43
BÀI 7: TRUY XUẤT CSDL 44
1 Cấu hình đăng nhập CSDL 44
2 Thực câu lệnh SQL đơn giản 45
3 Query Builder 45
3.1 Giới thiệu 45
(7)3.3 Biểu thức Raw 47
3.4 Lệnh join 47
3.5 Lệnh union 47
3.6 Mệnh đề where 47
3.7 Sắp xếp, gom nhóm, giới hạn nhảy dịng 47
3.8 Mệnh đề điều kiện (when) 48
3.9 Lệnh insert, update, delete 48
BÀI 8: PHÂN TRANG 49
1 Cập nhật hàm trả view hiển thị danh sách 49
2 Cập nhật view hiển thị danh sách 49
2.1 Hiển thị phân trang 49
2.2 Hiển thị số trang liên kết 50
CÂU HỎI, BÀI TẬP 50
BÀI 9: XÂY DỰNG BLADE TEMPLATE 52
1 Giới thiệu Blade template 52
2 Tạo sử dụng blade template 52
BÀI 10: CHỨNG THỰC 56
1 Tạo chức chức thực cho site 56
2 Khảo sát trang chức chứng thực 57
3 Tạo table quản lý người dùng 58
4 Đăng ký tài khoản 59
5 Tùy biến trang mặc định 59
6 Truy cập yêu cầu chứng thực 60
BÀI 11: SESSION 62
BÀI 12: QUẢN LÝ NGƯỜI DÙNG 63
BÀI 13: GỬI EMAIL VÀ UPLOAD TẬP TIN 64
(8)GIÁO TRÌNH MƠ ĐUN Tên mơ đun: Lập trình web với Laravel framework Mã mơ đun: MĐ30
Vị trí, tính chất, ý nghĩa vai trị mơ đun:
Vị trí: giảng dạy sau học xong môn sở Lập trình web PHP & MySQL
Tính chất: mơ đun tự chọn
Ý nghĩa vai trị mơ đun: cung cấp cho người học kiến thức kỹ để thiết kế, xây dựng phát triển ứng dụng web PHP theo mơ hình MVC Laravel framework
Mục tiêu mô đun: Về kiến thức:
+ Trình bày mơ hình MVC
+ Biết bước cài đặt Composer
+ Biết số lệnh tạo chạy Laravel site
+ Trình bày quy trình xử lý u cầu Laravel site + Biết cơng dụng route
+ Biết khái niệm middleware + Trình bày loại middleware
+ Trình bày khái niệm vai trị controller + Trình bày resource controller
+ Biết công dụng hàm resource controller + Biết đường dẫn tập tin cấu hình
+ Biết thuộc tính cấu hình cho truy xuất CSDL, gửi email, upload tập tin
+ Biết cơng dụng phân trang
+ Trình bày quy trình tạo phân trang cho trang hiển thị danh sách + Biết công dụng template
+ Trình bày cơng dụng thành phần blade template + Biết công dụng chứng thực
(9)+ Biết quy trình đọc, cập nhật thơng tin người dùng
+ Trình bày quy trình tạo trang gửi email upload tập tin Về kỹ năng:
+ Cài đặt Composer
+ Tạo mới, cấu hình chạy Laravel site + Định nghĩa route web.php + Tạo route trả view
+ Tạo route trả hành động controller + Tạo đăng ký middleware
+ Lưu ý sử dụng middleware trang phù hợp tránh gây khó chịu cho người truy cập
+ Tạo controller định nghĩa hàm hành động controller + Truyền liệu từ route đến controller hiển thị view + Tạo resource controller
+ Viết lệnh xử lý cho hàm hành động resource controller + Tạo trang truy xuất CSDL lệnh SQL đơn giản Query
Builder
+ Tạo chức phân trang cho trang hiển thị danh sách + Tạo template cho view
+ Tạo view sử dụng blade template + Tạo chức chức thực cho site + Phân quyền cho trang
+ Sử dụng Session lưu trữ thông tin khách truy cập tạo chức giỏ hàng
+ Tạo trang quản lý thông tin người dùng + Tạo trang liên hệ gửi email đến quản trị + Tạo trang upload tập tin
Về lực tự chủ trách nhiệm:
+ Cẩn thận tạo site đường dẫn, không làm ảnh hưởng đến hệ thống + Chính xác ký tự IN, thường
(10)+ Xử lý cẩn thận ngăn chặn kẻ xấu sử dụng chức gửi emal upload tập tin để công phá hoại site
(11)BÀI 1: TỔNG QUAN VỀ LARAVEL Mã bài: 30.1
Giới thiệu:
Để tạo chạy thử ứng dụng web dùng Laravel framework, yêu cầu máy tính phải cài đặt cấu hình biến đường dẫn hệ thống
Mục tiêu:
Trình bày mơ hình MVC
Biết bước cài đặt Composer Cài đặt Composer
Kiểm tra phiên XAMPP phù hợp cài đặt trước máy tính
Nội dung chính: 1 Mơ hình MVC
Model View Controller mơ hình kiến trúc theo hướng đối tượng, cho phép người phát triển tách ứng dụng thành thành phần chính:
Model: thành phần đại diện cho liệu ứng dụng, bao gồm chức kiểm tra tính hợp lệ liệu
View: thành phần đảm trách việc hiển thị liệu thành phần giao diện người dùng
Controller: thành phần có trách nhiệm tiếp nhận xử lý yêu cầu gửi đến cho ứng dụng, làm nhiệm vụ điều phối công việc View Model Việc phát triển ứng dụng, nâng cấp, bảo trì thử nghiệm trở nên đơn giản dễ dàng
(12)Hình 1.2 Hoạt động mơ hình MVC
Laravel framework framework phổ biến, hỗ trợ phát triển ứng dụng web ngơn ngữ PHP mơ hình MVC
2 Cài đặt Composer
Để tạo chạy thử ứng dụng web sử dụng Laravel framework máy tính phải đươc cài đặt gói XAMPP Composer Việc cài đặt gói XAMPP trình bày chi tiết giáo trình Lập trình web PHP & MySQL Theo đó, giáo trình trình bày bước cài đặt Composer
Bước 1: truy cập trang https://getcomposer.org/ Bước 2: click chuột lên Download
Bước 3: chạy file Composer-Setup.exe sau tải xong để cài đặt Bước 4: chọn Yes để tiếp tục
(13)Bước 6: chọn tập tin php.exe gói XAMPP
Bước 7: chọn Next để tiếp tục
(14)Bước 9: chọn Next để tiếp tục
Bước 10: chọn Finish hồn thành q trình cài đặt
Bước 11: cấu hình đường dẫn hệ thống
(15)Bước 11.2: chọn Advanced system settings Xuất hộp thoại System Properties
Bước 11.3: chọn tab Advanced
(16)Bước 11.5: chọn Path danh sách User variables for … chọn Edit… Xuất hộp thoại Edit environment variable
Bước 11.6: chọn Edit nhập vào
(17)Bước 11.7: chọn OK khởi động lại máy tính CÂU HỎI, BÀI TẬP
1.1 Thực cài đặt phần mềm cần thiết, sau cấu hình đường dẫn hệ thống để tạo ứng dụng web sử dụng Laravel framework
GỢI Ý, ĐÁP ÁN Kiểm tra gói XAMPP
(18)BÀI 2: TẠO LARAVEL SITE Mã bài: 30.2
Giới thiệu:
Để tạo chạy thử ứng dụng web dùng Laravel framework, yêu cầu máy tính phải cài đặt cấu hình biến đường dẫn hệ thống
Mục tiêu:
Biết số lệnh tạo chạy Laravel site Tạo Laravel site
Cấu hình chạy Laravel site
Cẩn thận tạo site đường dẫn, không làm ảnh hưởng đến hệ thống Nội dung chính:
1 Một số lệnh tạo chạy Laravel site 1.1 Xem lệnh composer: composer
Hình 2.1 Kết lệnh composer 1.2 Tạo Laravel site
Có cách để tạo Laravel site
Cách 1: Bằng trình cài đặt Laravel Thực bước
(19)Bước 2: laravel new <TênSite>
Cách 2: Bằng lệnh create-project Composer
composer create-project prefer-dist laravel/laravel <TênSite>
Viết lệnh thực tạo Laravel site có tên LaravelBlog theo cách
1.3 Chạy Laravel site
Dùng lệnh: php artisan serve
(20)3 Cấu trúc thư mục Laravel site
Hình 2.2 Cấu trúc thư mục lưu trữ Laravel site controller: chứa tập tin định nghĩa controller xử lý yêu cầu
config: chứa tập tin cấu hình site Ví dụ: thơng tin truy xuất sở liệu
views: chứa tập tin giao diện hiển thị
routes: chứa tập tin định nghĩa route chuyển từ địa yêu cầu đến controller xử lý tương ứng
4 Cấu hình tập tin config/database.php kết nối đến CSDL MySQL
(21)BÀI 3: ROUTING Mã bài: 30.3
Giới thiệu:
Route trình xác định yêu cầu người dùng thông qua URI để truyền cho controller cụ thể giải
Mục tiêu:
Trình bày quy trình xử lý yêu cầu Laravel site Biết công dụng route
Định nghĩa route web.php Tạo route trả view
Tạo route trả hành động controller Chính xác ký tự IN, thường
Nội dung chính: 1 Cú pháp
Các route định nghĩa tập tin routes/web.php
Cú pháp định nghĩa rout: Rout::get/post($uri, $callback);
$uri: địa tương đối ứng dụng $callback: lệnh xử lý
Ví dụ: route thực function, trả kết chuỗi
Kiểm tra: truy cập vào trang http://domain/about để xem kết Ví dụ: route thực function, trả view Bước 1: sửa lại định nghĩa rout sau:
(22)Truy cập lại trang http://domain/about để xem kết
Ví dụ: route thực controller
hoặc
hoặc
5 Route chuyển tiếp
Khi muốn tạo route chuyển tiếp từ địa đến route khác xử lý
Khi đó, việc truy cập vào địa http://domain/sanpham http://domain/sp hiển thị kết trình duyệt
6 Route có tham số
(23)7 Đặt tên cho route
Sử dụng route đặt tên:
(24)BÀI 4: MIDDLEWARE Mã bài: 30.4
Giới thiệu:
Một thành phần trung gian tham gia vào trình tiếp nhận xử lý yêu cầu người dùng Middleware
Mục tiêu:
Biết khái niệm middleware Trình bày loại middleware Tạo đăng ký middleware
Lưu ý sử dụng middleware trang phù hợp tránh gây khó chịu cho người truy cập
Không làm ảnh hưởng đến thành phần khác gây lỗi site Nội dung chính:
1 Khái niệm
Middleware cung cấp chế thuận tiện để lọc yêu cầu HTTP truy cập vào ứng dụng Ví dụ, Laravel chứa sẵn middleware để chứng thực người dùng ứng dụng bạn xác thực Nếu người dùng không xác thực, middleware chuyển hướng người dùng đến trang đăng nhập Tuy nhiên, người dùng xác thực, middleware cho phép yêu cầu truy cập vào ứng dụng
Có thể tạo thêm middleware để thực công việc khác bên ứng dụng web Laravel Ví dụ, middleware CORS chịu trách nhiệm thêm tiêu đề thích hợp cho tất câu trả lời rời khỏi ứng dụng, middleware đăng nhập ghi lại tất yêu cầu gửi đến ứng dụng
Laravel có sẵn middleware giúp xác thực bảo vệ CSRF Tất middleware nằm thư mục app/Http/Middleware
8 Định nghĩa Middleware 2.1 Tạo Middleware
Ví dụ: Tạo middleware kiểm tra tuổi
Bước 1: dùng lệnh make:middleware Artisan
(25)Lệnh tạo tập tin app/Http/Middleware/CheckAge.php
(26)Nếu tuoi<16 người dùng bị chuyển đến trang mặc định, ngược lại người dùng phép truy cập Để truyền liệu từ middleware, gọi hàm $next với tham số $request
2.2 Middleware trước sau
Middleware thực trước sau yêu cầu phụ thuộc vào việc định nghĩa middleware Ví dụ bên middleware thực trước thi thực yêu cầu xử lý
(27)9 Đăng ký Middleware
3.1 Đăng ký toàn cục (Global Middleware)
Nếu muốn middleware thực xuyên suốt ứng dụng, đặt vào danh sách thuộc tính $middleware bên tập tin app/Http/Kernel.php
3.2 Đăng ký đến route
Trong trường hợp muốn middleware kích hoạt controller cụ thể Bước 1: trước hết phải đăng ký middleware với key bên thuộc tính $routeMiddleware tập tin Kernel.php
Bước 2: Đăng ký route đến middleware tập tin routes/web.php
Kiểm tra: truy cập đến địa http://domain/user/dangky/1980 http://domain/user/dangky/2010 để xem kết
(28)Không thể sử dụng withoutMiddleware với middleware toàn cục (Global Middleware)
3.3 Gom nhóm Middleware
Để gom middleware vào nhóm dùng thuộc tính $middlewareGroups HTTP kernel
Ngoài ra, Laravel kèm với nhóm web api middleware chứa middleware phổ biến phục vụ cho việc tạo giao diện người dùng API route
(29)3.4 Sắp xếp thứ tự Middleware
Nếu muốn middleware thực theo thứ tự cụ thể sử dụng thuộc tính $middlewarePriority bên tập tin app/Http/Kernel.php
10 Middleware có tham số
(30)Sử dụng middleware có tham số:
11 Hàm terminate
(31)Phương thức terminate phải nhận tham số request response Sau middlewware định nghĩa middleware phải đăng ký vào danh sách route global tập tin app/Http/Kernel.php
(32)BÀI 5: CONTROLLER Mã bài: 30.5
Giới thiệu:
Thành phần quan trọng tiếp nhận xử lý yêu cầu controller Mục tiêu:
Trình bày khái niệm vai trò controller Tạo controller
Định nghĩa hàm hành động controller
Truyền liệu từ route đến controller hiển thị view Chính xác ký tự IN, thường
Nội dung chính: 1 Khái niệm
Controller lớp đối tượng định nghĩa chứa phương thức bên để tiếp nhận xử lý yêu cầu
12 Tạo controller
(33)Kết quả: có tập tin app/Http/Controllers/SanPhamController.php
13 Định nghĩa hàm (hành động) controller
(34)14 Tạo view cho hàm controller
Trong ví dụ trên, hàm index trả view sanpham.index tạo tập tin resources/views/sanpham/index.blade.php
Kiểm tra: truy cập trang http://domain/sanpham để xem kết 15 Truyền liệu route, controller, view
Ví dụ: Bài tốn hình chữ nhật Sử dụng HinhChuNhat controller Bước 1: Định nghĩa route
Theo trên, định nghĩa hai route với địa tương ứng là:
http://domain/hcn/chuvi/{d}/{r}: chuyển cho hàm chuvi HinhChuNhatController xử lý
http://domain/hcn/dientich/{d}/{r}: chuyển cho hàm dientich HinhChuNhatController xử lý
{d} {r}: tham số gửi kèm theo địa Khi muốn hiển thị trang kết chu vi hình chữ nhật có chiều dài 10, chiều rộng người dùng phải truy cập vào địa http://domain/hcn/chuvi/10/6
(35)Bước 3: Định nghĩa hàm xử lý HinhChuNhat controller
Như trình bày Bước 1, route có hai tham số {d} {r} nên phải xây dựng hàm tương ứng phải có hai tham số $d $r
Trong ví dụ này, việc trả view, gửi kèm liệu đến cho view câu lệnh return
(36)Thực tương tự cho tập tin resources/views/HinhChuNhat/dientich.blade.php
16 Single Action Controllers (Controller có hàm)
Single action controller controller mà bên có hàm hành động Hàm hành động bên Single action controller phải có tên invoke.
Bước 1: dùng tùy chọn invokable lệnh make:controller Artisan theo cú pháp sau:
php artisan make:controller TênController invokable
Ví dụ:
Lệnh tạo tập tin app/Http/Controllers/ShowProfile.php với nội dung có sẵn bên
(37)Bước 3: với hàm invoke định nghĩa trên, kết trả view “user.profile” với liệu gửi đến biến user = $usr phải có view user.profile
Bước 4: tạo tập tin resources/views/user/profile.blade.php để trả cho hàm invoke
Bước 5: định nghĩa route cho controller
(38)17 Controller Middleware
Middleware đăng ký đến route bên tập tin route
Tuy nhiên, thuận lợi rõ ràng gọi loại bỏ middleware bên phương thức khởi tạo controller
(39)BÀI 6: RESOURCE CONTROLLER Mã bài: 30.6
Giới thiệu:
Laravel cung cấp loại controller đặc biệt, gắn liền với hàm hành động truy xuất cập nhật liệu, Resource controller
Mục tiêu:
Trình bày resource controller
Biết công dụng hàm resource controller Tạo resource controller
Viết lệnh xử lý cho hàm hành động resource controller Chính xác ký tự IN, thường
Nội dung chính: 1 Khái niệm
Trước đây, route trường thông qua phương thức GET để đọc giá trị người dùng
Resource controller controller mà bên có hàm hành động đặc tên sẵn theo quy tắc Laravel tương ứng với cơng việc xem, xóa, sửa liệu Việc route đến tất hàm bên Resource controller thông qua định nghĩa route
Resource route Laravel tự tạo route đến hàm controller với dòng lệnh Ví dụ, tạo controller ChuDe có đầy đủ hàm cho phép người dùng đọc/thêm/xóa/sửa liệu
Bảng 6.1 Bảng mô tả URI tương ứng với hàm bên Resource controller
Method URI Hàm Route
GET /chude index chude.index
GET /chude/create create chude.create
POST /chude store chude.store
GET /chude/{chude} show chude.show
(40)Method URI Hàm Route
PUT/PATCH /chude/{chude} update chude.update
DELETE /chude/{chude} destroy chude.destroy
index: trả view hiển thị danh sách
create: trả view hiển thị form cho phép người dùng nhập liệu store: nhận POST, xử lý lưu dòng liệu từ form create show: trả view hiển thị thông tin dòng liệu
edit: trả view hiển thị form cho phép người dùng sửa thông tin dòng liệu
update: nhận PUT/PATCH, xử lý cập nhật dòng liệu destroy: nhận DELETE, xử lý xóa dịng liệu
18 Tạo Resource controller
Bước 1: dùng tùy chọn resource lệnh make:controller artisan
Cú pháp: php artisan make:controller TênController resource
Trong trường hợp controller có sử dụng lớp đối tượng (model) sử dụng thêm tùy chọn model theo cú pháp sau:
php artisan make:controller TênController resource model =TênModel
Ví dụ:
Nếu không cần dùng model model ChuDe tạo trước khơng cần tùy chọn model=ChuDe
(41)Quan sát nội dung tập tin app/Http/ChuDeController.php Quan sát nội dung tập tin app/ChuDe.php
Bước 2: cập nhật tập tin app/ChuDe.php
Bước 3: đăng ký resource route tập tin routes/web.php
Bước 4: cập nhật tập tin app/Http/Controllers/ChuDeController.php Khai báo sử dụng thư viện
(42)19 Xử lý hàm index hiển thị danh sách chủ đề
Bước 5: Tạo tập tin resources/chude/index.blade.php
Xem kết http://domain/laravelsite1/chude 20 Xử lý hàm create store để thêm liệu
Bước 1: Như bảng mô tả hàm/route tương Mục 3.6 Chúng ta cần cập nhật hàm index controller ChuDe để trả view
(43)Lưu ý: thuộc tính action /chude chude/store
Do việc nhận liệu nhập từ form (với method post) lưu thơng tin vào dịng liệu thực hàm store controller ChuDe nên thuộc tính action form /chude (lưu ý: /chude/store) Bước 3: Cập nhật hàm store để xử lý liệu nhận từ form
21 Xử lý hàm edit update để sửa liệu
(44)Bước 2: Cập nhật hàm edit
(45)Do thuộc tính method form html GET/POST hàm update resource controller thực với method PUT/PATCH nên phải thêm @method(‘PUT’) kèm với @csrf form
Bước 4: Cập nhật hàm update
22 Xử lý hàm destroy để xóa liệu
hoặc
CÂU HỎI, BÀI TẬP
(46)BÀI 7: TRUY XUẤT CSDL Mã bài: 30.7
Giới thiệu:
Bất kỳ framework có thư viện hỗ trợ truy xuất CSDL Bài cung cấp cho người học kiến thức kỹ sử dụng thư viện truy xuất CSDL để hiển thị ứng dụng web
Mục tiêu:
Biết đường dẫn tập tin cấu hình
Biết thuộc tính cấu hình cho truy xuất CSDL Truy xuất CSDL lệnh SQL đơn giản Truy xuất CSDL Query Builder
Chính xác ký tự IN, thường Nội dung chính:
1 Cấu hình đăng nhập CSDL
(47)23 Thực câu lệnh SQL đơn giản
24 Query Builder 3.1 Giới thiệu
Query Builder cung cấp cách thức việc truy xuất CSDL Query Builder dùng thư viện PDO PHP, đảm bảo ngăn chặn bị cơng SQL injection Theo đó, người lập trình không cần phải quan tâm đến việc “làm sạch” chuỗi bên lệnh sql
3.2 Các hàm đọc kết qủa table
(48) get: xem table first
value
pluck
chunk, chunkById
+ chunk:
+ chunkById
(49) exists, doesntExist
select, distinct
+ select
+ distinct
3.3 Biểu thức Raw 3.3.1 Hàm raw 3.3.2 selectRaw
3.3.3 whereRaw, orWhereRaw 3.3.4 havingRaw, orHavingRaw 3.3.5 orderByRaw
3.4 Lệnh join 3.4.1 Inner join
3.4.2 Left join, Right join 3.4.3 Cross join
3.5 Lệnh union 3.6 Mệnh đề where 3.6.1 where, orWhere
3.6.2 whereColumn, orWhereColumn 3.6.3 whereExists
3.7 Sắp xếp, gom nhóm, giới hạn nhảy dịng 3.7.1 orderBy
(50)3.8 Mệnh đề điều kiện (when) 3.9 Lệnh insert, update, delete 3.9.1 insert, insertGetId
(51)BÀI 8: PHÂN TRANG Mã bài: 30.8
Giới thiệu:
Để tạo chạy thử ứng dụng web dùng Laravel framework, yêu cầu máy tính phải cài đặt cấu hình biến đường dẫn hệ thống
Mục tiêu:
Biết số lệnh tạo chạy Laravel site Tạo Laravel site
Cấu hình chạy Laravel site
Cẩn thận tạo site đường dẫn, khơng làm ảnh hưởng đến hệ thống Nội dung chính:
1 Cập nhật hàm trả view hiển thị danh sách
Cập nhật hàm index controller ChuDe (app/Http/ChuDeController.php)
DB::table(‘chude’): đọc tất dòng liệu table chude
-> paginate(10) để hiển thị 10 dòng liệu trang liên kết đến trang hiển thị số
Nếu muốn hiển thị liên kết đến trang trước (previous) trang (next) thay paginate simplePaginate
2 Cập nhật view hiển thị danh sách
Cập nhật tập tin tin resources/views/chude/index.blade.php 2.1 Hiển thị phân trang
(52)Truy cập trang http://domain/chude để xem kết phân trang 2.2 Hiển thị số trang liên kết
Sử dụng hàm onEachSide để định số trang liên kết hiển thị Cập nhật tập tin resources/views/chude/index.blade.php
Truy cập lại trang http://domain/chude để xem kết CÂU HỎI, BÀI TẬP
Xử lý phân trang cho trang danh mục sách theo yêu cầu sau: Mỗi trang hiển thị 20 dòng liệu
(53)(54)BÀI 9: XÂY DỰNG BLADE TEMPLATE Mã bài: 30.9
Giới thiệu:
Để tạo chạy thử ứng dụng web dùng Laravel framework, yêu cầu máy tính phải cài đặt cấu hình biến đường dẫn hệ thống
Mục tiêu:
Biết số lệnh tạo chạy Laravel site Tạo Laravel site
Cấu hình chạy Laravel site
Cẩn thận tạo site đường dẫn, không làm ảnh hưởng đến hệ thống Nội dung chính:
1 Giới thiệu Blade template
Blade công cụ tạo bố cục đơn giản mạnh mẽ cung cấp với Laravel Không giống công cụ template PHP phổ biến khác, Blade không hạn chế việc sử dụng mã PHP túy blade view Trong thực tế, tất blade view biên dịch thành mã PHP đơn giản lưu vào nhớ cache chúng sửa đổi Các tập tin blade view có phần mở rộng blade.php thường lưu thư mục resources/views
2 Tạo sử dụng blade template
(55)Chú ý khối điều khiển hiển thị nội dung section (khung đứt nét) khối yield (khung liền nét)
(56)Khai báo sử dụng blade template
Sửa nội dung thẻ head resources/views/layouts/mylayout.blade.php
(57)(58)BÀI 10: CHỨNG THỰC Mã bài: 30.10
Giới thiệu:
Để tạo chạy thử ứng dụng web dùng Laravel framework, yêu cầu máy tính phải cài đặt cấu hình biến đường dẫn hệ thống
Mục tiêu:
Biết số lệnh tạo chạy Laravel site Tạo Laravel site
Cấu hình chạy Laravel site
Cẩn thận tạo site đường dẫn, không làm ảnh hưởng đến hệ thống Nội dung chính:
1 Tạo chức chức thực cho site
Laravel cung cấp cho cách đơn giản để tạo chức chứng thực với đầy đủ yêu cầu cần thiết bao gồm route view
Bước 1: Mở cửa sổ Command Prompt Bước 2: Vào thư mục chứa site
Bước 3: Thực lệnh composer require laravel/ui Bước 4: Thực lệnh php artisan ui vue auth Bước 5: Thực lệnh npm install && npm run dev
Sau thực lệnh trên, có có tập tin view cần thiết cho chức chức thực, tập tin đặt thư mục resources/views/auth.
(59)Ngoài ra, quan sát tập tin routes/web.php, thấy Laravel chèn thêm dòng lệnh định nghĩa route:
25 Khảo sát trang chức chứng thực Trang đăng nhập (http://domain/login)
Trang reset mật (http://domain/password/reset)
(60)26 Tạo table quản lý người dùng
Dùng lệnh migrate artisan để tạo table quản lý tài khoản
(61)27 Đăng ký tài khoản
Sau nhập thông tin click chuột lên Register, có kết sau:
Table users chèn thêm dòng liệu
28. Tùy biến trang mặc định
(62)redirectTo bên LoginController, RegisterController, ResetPasswordController, VerificationController
Ví dụ 1: Sau login thành cơng chuyển hướng đến địa /chude/create Bước 1: Mở tập tin /app/Http/Controllers/Auth/LoginController.php
Bước 2: Thay đổi giá trị thuộc tính redirectTo
Thực đăng nhập xem kết
Ví dụ 2: Sau người dùng register thành cơng chuyển hướng đến địa http://domain/chude
Bước 1: Mở tập tin /app/Http/Controllers/Auth/RegisterController.php Bước 2: Thay đổi giá trị thuộc tính redirectTo
Thực logout đăng ký tài khoản xem kết 29 Truy cập yêu cầu chứng thực
Khi yêu cầu người dùng phải login thành công trước truy cập địa dùng lệnh ->middleware('auth') kèm với route tương ứng
Ví dụ: Người dùng phải login trước truy cập vào trang http://domain/about Bước 1: Mở tập tin /routes/wep.php
Bước 2: Cập nhật lại định nghĩa route
Truy cập vào địa http://domain/about để xem kết
Dĩ nhiên, yêu cầu chứng thực cho controller cách gọi hàm middleware('auth') bên phương thức khởi tạo controller
Ví dụ: Người dùng phải login trước truy cập vào địa chuyển hướng vào ChuDeController
(63)Truy cập vào địa http://domain/chude http://domain/create để xem kết
Trong trường hợp yêu cầu chứng thực cho số hàm bên controller dùng thêm hàm only sau hàm middleware
Truy cập vào địa http://domain/chude phép truy cập
(64)(65)(66)(67) ang https://getcomposer.org/ http://localhost:8000 để xem ang http://domain/about để xem http://domain/sanpham http://domain/sp ang http://domain/tong/3/5 để xem https://laravel.com/docs/5.7 http://domain/user/dangky/1980 http://domain/user/dangky/2010 để xem http://domain/hcn/chuvi/{d}/{r}: http://domain/hcn/dientich/{d}/{r}: http://domain/hcn/chuvi/10/6 http://domain/laravelsite1/chude ang http://domain/chude để xem ang đăng nhập (http://domain/login) (http://domain/password/reset) khoản (http://domain/register) http://domain/create http://domain/chude/create http://domain/chude/1/edit