Bài giảng Phát triển ứng dụng web: Chương 10 - Lê Đình Thanh
lượt xem 2
download
Bài giảng Phát triển ứng dụng web: Chương 10 Laravel, cung cấp cho người đọc những kiến thức như: Tổng quan; định tuyến; tạo controller; tạo model; tạo view;...Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Phát triển ứng dụng web: Chương 10 - Lê Đình Thanh
- Bài giảng PHÁT TRIỂN ỨNG DỤNG WEB Lê Đình Thanh Khoa Công nghệ Thông tin Trường Đại học Công nghệ, ĐHQGHN E-mail: thanhld@vnu.edu.vn Mobile: 0987.257.504 1
- Laravel 2 Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Nội dung Tổng quan Định tuyến Tạo controller Tạo model Tạo view Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Framework là gì? Khung phát triển ứng dụng (software framework - SF) là phần mềm cung cấp các chức năng chung có thể thay đổi bởi mã của người dùng. SF bao gồm: Một tập các thành phần phần mềm có thể dễ dàng tích hợp với nhau Một phương pháp lắp ráp các thành phần phần mềm và viết mã bổ sung Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Lợi ích của việc sử dụng SF Viết ít mã, với ít lỗi, và đảm bảo khả năng bảo trì, nâng cấp Phát triển ứng dụng đúng (chất lượng tốt) và hiệu quả (năng suất cao) Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Laravel Là khung phát triển ứng dụng web với PHP nguồn mở được phát triển một cộng đồng lớn được sử dụng rộng rãi Websites: https://laravel.com/ Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Luồng xử lý 2. request 1. Http Request object Front Controller Kernel 4. Http Response 3. response object Bộ điều khiển mặt trước (front controller) khởi động nhân ứng dụng (kernel), tiếp nhận Http Request, tạo đối tượng request và đưa Http Request vào đối tượng request được tạo, sau đó chuyển đối tượng request cho nhân Nhân xử lý request, trả kết quả là đối tượng response cho bộ điều khiển mặt trước Tại bộ điều khiển mặt trước, đối tượng response được chuyển thành Http Response rồi gửi cho client Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Luồng xử lý //Khởi động nhân ứng dụng $kernel = $app- >make(Illuminate\Contracts\Http\Kernel::class); //Tạo đối tượng request nắm giữ Http Request $request = Illuminate\Http\Request::capture(); //Chuyển đối tượng request cho nhân xử lý, nhận kết quả xử lý là đối tượng response $response = $kernel->handle($request); //Tạo và gửi Http Response cho client $response->send(); //Tắt nhân $kernel->terminate($request, $response); Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Luồng xử lý3.1 URI Routing 2. request object 3.2 Function name + parameters Kernel 3. response 3.3 parameters object Controlller/Function 3.4 response object Nhân xử lý request, trả kết quả là đối tượng response cho bộ điều khiển mặt trước Nhân chuyển URI của request cho hệ thống định tuyến (routing) Hệ thống định tuyến xác định hàm PHP (còn được gọi là bộ điều khiển (controller) hay hành động (action)) nào sẽ được gọi Hàm PHP được gọi thực hiện thông dịch, xử lý request và tạo đối tượng response Đối tượng response được trả về cho nhân và nhân chuyển cho bộ điều khiển mặt trước Tạo “trang web” = viết hàm xử lý request và tạo response + ánh xạ URL tới hàm Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Controller trực tiếp tạo Response 3.3 parameters Controller/Function return new Response(content); 3.4 response object Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Controller sử dụng template/view để tạo Response 3.3 parameters Controller/Function return $this->render(template, data); 3.4 Response object 3.3.2 web content 3.3.1 data Template Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Sử dụng model Model 3.3.1 parameters 3.3.2 data 3.3 parameters Controller/Function return $this->render(template, data); 3.4 Response object 3.3.4 web content 3.3.3 data Template Laravel được thiết kế theo MVC nhưng không bắt buộc và không hỗ trợ model. Người phát triển tự tạo model. Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Cấu trúc thư mục • app/Http/Controllers chứa các tệp cài đặt các lớp điều khiển • resources/views chứa các tệp cài đặt các lớp giao diện • app/Models chứa các các tệp cài đặt các lớp mô hình • routes chứa các tệp lưu trữ thông tin cho định tuyến URL • config lưu các tệp cấu hình của ứng dụng, • database lưu các tệp liên quan đến thao tác CSDL • public lưu các tài nguyên khác như hình ảnh, JavaScript, CSS, … • storage lưu các tệp session, cache và các tệp khác được sinh ra bởi khung làm việc • tests chứa các kịch bản kiểm thử do người lập trình tạo lập • vendor chứa các môđun do bên thứ ba cung cấp. Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Tạo ứng dụng mới Sử dụng Composer (https://getcomposer.org) composer create-project laravel/laravel --prefer-dist Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Thiết lập thông tin định tuyến URL Route::method($uri, $callback); method = HTTP verd: get, post, put, delete, ... Ví dụ Route::get('/greeting', function() { return view('welcome'); }); Route::get('readers/{readerId}', function ($rid) {return 'Độc giả: '.$rid; }); Route::get('posts/{postId}/comments/{commentId}', function($pid, $cid ) { return 'Bạn đang đọc bình luận '.$cid.' ở bài viết'.$pid; }); Route::match(['get', 'post'], '/help', function () { return view('help'); }); Route::any('/licence', function () { return "Apache Licence"; }); Route::redirect('/here', '/there', 301); Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Xây dựng lớp điều khiển • php artisan make:controller • Ví dụ php artisan make:controller BookController
- Ánh xạ URL đến hành động của lớp điều khiển
- Ánh xạ URL đến hành động của lớp điều khiển Route::resource(‘/books, ‘BookController’); Phương thức HTTP URI Hành động GET /books index GET /books/create create POST /books store GET /books/{bookId} show GET /books/{bookId}/edit edit PUT/PATCH /books/{bookId} update DELETE /books/{bookId} destroy Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
- Đọc giá trị của tham số trong yêu cầu HTTP
- Trả về text hoặc JSON class BookController extends Controller { // Trả về text public function index() { return 'Sách: Gió Thu, Sóng Sánh, Chiều Hồng'; } // Trả về JSON public function index2() { return ['Gió Thu', 'Sóng Sánh', 'Chiều Hồng']; } } Lê Đình Thanh, Bài giảng Phát triển ứng dụng web.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Phát triển ứng dụng Web – Web Programming: Chương 0 - ThS. Lương Trần Hy Hiến
20 p | 243 | 19
-
Bài giảng Phát triển ứng dụng Web – Web Programming: Chương 5 - ThS. Lương Trần Hy Hiến
0 p | 109 | 15
-
Bài giảng Phát triển ứng dụng Web bằng PHP: Phần 4 - Dương Khai Phong
50 p | 105 | 12
-
Bài giảng Phát triển ứng dụng web: Bài 3 - Lê Đình Thanh
42 p | 123 | 11
-
Bài giảng Phát triển ứng dụng Web bằng PHP: Phần 1 - Dương Khai Phong
28 p | 141 | 10
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 8: Đánh giá hiệu năng ứng dụng đa nền tảng
66 p | 24 | 8
-
Bài giảng Phát triển ứng dụng web 1: HTML From - ĐH Sài Gòn
34 p | 93 | 8
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 7: Nguyên lý phát triển ứng dụng với Flutter
88 p | 24 | 8
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 0: Giới thiệu về môn học
27 p | 33 | 7
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 2: Tổng quan về kiến trúc của di động
53 p | 23 | 7
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 3.2: Cross-Platform
17 p | 22 | 7
-
Bài giảng Phát triển ứng dụng web 1: Tổng quan về xây dựng ứng dụng web - ĐH Sài Gòn
60 p | 101 | 6
-
Bài giảng Phát triển ứng dụng: Chương 4
27 p | 70 | 6
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 1: Tổng quan về phát triển ứng dụng di động
46 p | 32 | 6
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 4: Giới thiệu JS, JSX và ReactNative
74 p | 25 | 6
-
Bài giảng Phát triển ứng dụng web: Bài 4 - Lê Đình Thanh
27 p | 80 | 5
-
Bài giảng Phát triển ứng dụng Web: Bài 6 - Nguyễn Hữu Thể
24 p | 43 | 4
-
Bài giảng Phát triển ứng dụng web: Chương 0 - Lê Đình Thanh
10 p | 17 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn