Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

82 19 0
Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ỦY BAN NHÂN DÂN TP HỒ CHÍ MINH TRƯỜNG CAO ĐẲNG CƠNG NGHỆ THỦ ĐỨC KHOA CNTT GIÁO TRÌNH MƠN HỌC: LẬP TRÌNH BACK-END WEB NGÀNH/NGHỀ: CƠNG NGHỆ THƠNG TIN TRÌNH ĐỘ: CAO ĐẲNG Ban hành kèm theo Quyết định số: ngày … tháng … năm … của……………………………… TP Hồ Chí Minh, năm 2020 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình 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 Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Môn học Lập trình Back-End Web mơn học bắt buộc với chương trình đào tạo ngành Cơng nghê thơng tin Đây mơn học cho lập trình Back-End Web môn học tảng cho cách tiếp cận framework Ở mơn học Lập trình Back-End Web trước đó, sinh viên học ngơn ngữ lập trình Back-End Web phổ biến PHP, đồng thời, học cách kết nối, tương tác với liệu với MySQL Trong môn học này, sinh viên tiếp cận framework phổ biến Được học kỹ thuật sử dụng thư viện mã nguồn mở để thực tính website, thay phải tự code Giáo trình biên soạn dựa theo đề cương môn học “Lập trình BackEnd Web 2” Khoa Cơng nghệ thơng tin – Trường Cao đẳng Công nghệ Thủ Đức Mặc dù tác giả biên soạn cố gắng, song chắn khơng tránh khỏi thiếu sót Vì vậy, tác giả mong nhận góp ý chân thành từ Quý Thầy Cô bạn Sinh viên để giáo trình ngày hồn thiện Trong trình biên soạn giáo trình này, tác giả nhận nhiều góp ý từ tập thể Giảng viên Khoa Công nghệ thông tin, đặc biệt đôn đốc Thư ký Khoa quy trình, tiến độ biểu mẫu để thực biên soạn giáo trình thành công … , ngày…tháng năm 2020 Chủ biên: Phan Thanh Nhuần MỤC LỤC GIÁO TRÌNH i i Tên học mơn học: Lập trình Back-End Web vii Mã môn học: CNC107454 vii CHƯƠNG 1: TỔNG QUAN VỀ Laravel 1.1 GIỚI THIỆU CÁC FRAMEWORK Mà NGUỒN MỞ 1.2 ĐÁNH GIÁ ƯU NHƯỢC ĐIỂM CÁC FRAMEWORK 1.2.1 CodeIgniter FRAMEWORK .3 1.2.2 Zend FRAMEWORK 1.2.3 Laravel FRAMEWORK 1.2.4 Symfony FRAMEWORK 1.3 CÁC TIÊU CHÍ ĐỂ CHỌN LỰA FRAMEWORK PHÙ HỢP 1.4 TÌM HIỂU VỀ LARAVEL 1.4.1 CẤU HÌNH LARAVEL 1.4.2 GIỚI THIỆU VỀ CẤU TRÚC ỨNG DỤNG 1.4.3 VIẾT CHƯƠNG TRÌNH HELLO WORLD TRONG Laravel 10 1.5 BÀI TẬP 12 CHƯƠNG 2: ROUTING VÀ MIDDLEWARE 14 2.1 KHAI BÁO ROUTING 15 2.1.1 TÙY BIẾN TRONG ROUTING 15 2.1.2 VÍ DỤ MINH HỌA .17 2.2 KHAI BÁO MIDDLEWARE 20 2.2.1 ĐĂNG KÝ MIDDLEWARE VỚI HỆ THỐNG .20 2.2.2 TÙY BIẾN TRONG MIDDLEWARE 23 2.3 BÀI TẬP 25 CHƯƠNG 3: HIỆN THỰC MƠ HÌNH MVC 26 3.1 XỬ LÝ REQUEST URI 27 3.1.1 GIỚI THIỆU 27 3.1.2 MỘT SỐ PHƯƠNG THỨC TRONG Illuminate\Http\Request .29 3.2 TƯƠNG TÁC TRÊN CONTROLLER .30 3.2.1 GIỚI THIỆU 30 ii 3.2.2 3.3 TÙY BIẾN TRONG CONTROLLER 32 GỬI DỮ LIỆU RA VIEW 33 3.3.1 GIỚI THIỆU 33 3.3.2 TÙY BIẾN TRONG VIEW 34 3.4 TRUY VẤN DỮ LIỆU .37 3.4.1 GIỚI THIỆU 37 3.4.2 CẤU HÌNH DATABASE .38 3.4.3 TRUY VẤN DỮ LIỆU ĐƠN GIẢN .39 3.4.4 TRUY VẤN DỮ LIỆU QUAN HỆ 41 3.5 BÀI TẬP 44 CHƯƠNG 4: TƯƠNG TÁC DATABASE VỚI ELOQUENT ORM .45 4.1 TỔNG QUAN Error! Bookmark not defined 4.1.1 TRUY VẤN SINGLE MODEL .48 4.1.2 INSERT, UPDATE MODEL 49 4.1.3 XÓA DỮ LIỆU .50 4.2 RELATIONSHIPS 51 4.2.1 ONE TO ONE 51 4.2.2 ONE TO MANY .52 4.2.3 MANY TO MANY 53 4.3 COLLECTIONS 54 4.4 MUTATORS 55 4.4.1 ĐỊNH NGHĨA ACCESSOR 55 4.4.2 ĐỊNH NGHĨA MUTATORS 56 4.5 SERIALIZATION 57 4.6 BÀI TẬP 57 CHƯƠNG 5: XÁC THỰC NGƯỜI DÙNG 60 5.1 AUTHENTICATION .61 5.2 AUTHORIZATION 62 5.3 BÀI TẬP 65 iii CHƯƠNG 6: XÂY DỰNG WEBSITE 66 6.1 ĐẶC TẢ YÊU CẦU DỰ ÁN 67 6.2 HIỆN THỰC DỰ ÁN 68 6.3 ĐÁNH GIÁ DỰ ÁN 68 6.4 MÔ TẢ SƠ LƯỢC YÊU CẦU DỰ ÁN 68 6.5 PHÁT TRIỂN VENDOR TRONG Laravel 69 iv DANH MỤC TỪ VIẾT TẮT Từ viết tắt Dạng đầy đủ LTS Long-term support ORM Object-Relational Mapping PDO PHP Data Objects PHP Hypertext Preprocessor CNTT Công nghệ thông tin Số thứ tự DANH MỤC HÌNH ẢNH CHƯƠNG 1: TỔNG QUAN VỀ Laravel Hình 1- Màn hình trang chủ Laravel .6 Hình 1- Kiểm tra phiên composer Hình 1- Các phiên Laravel Hình 1- Các phiên Laravel packagist.org .8 Hình 1- Quá trình cài đặt Laravel Hình 1- Cấu trúc thư mục tổ chức code Laravel Hình 1- Trang Hello World 12 Hình 1- Bài tập 12 CHƯƠNG 2: ROUTING VÀ MIDDLEWARE Hình 2- Kiến trúc middleware 21 CHƯƠNG 3: HIỆN THỰC MƠ HÌNH MVC Hình 3- Kiến trúc tổng quan ứng dụng .42 CHƯƠNG 4: TƯƠNG TÁC DATABASE VỚI ELOQUENT ORM Hình 4- Kiến trúc Eloquent ORM 45 v Hình 4- Eloquent ORM tương tác với model Laravel - Nguồn Dev.To 46 Hình 4- Lược đồ sở liệu 58 CHƯƠNG 6: XÂY DỰNG WEBSITE Hình 6- Tạo project trang Github 70 Hình 6- Khởi tạo vendor .71 Hình 6- Ví dụ file composer.json mẫu .72 Hình 6- Cấu hình webhooks .73 Hình 6- Xác nhận đăng ký từ trang Packagist 73 vi GIÁO TRÌNH HỌC PHẦN Tên học mơn học: Lập trình Back-End Web Mã mơn học: CNC107454 Vị trí, tính chất, ý nghĩa vai trị mơn học: - Vị trí: Đây mơn học giảng dạy HK3, hệ cao đẳng ngành công nghệ thơng tin - Tính chất: Mơn học cung cấp thêm cho sinh viên kiến thức thư viện mã nguồn mở PHP bật nay, tìm hiểu chuyên sâu thư viện Laravel - Ý nghĩa vai trị mơn học: Thơng qua hoạt động học tập sinh viên cịn hồn thiện dần tính tư hệ thống thói quen tn thủ quy định môi trường làm việc Mục tiêu mơn học: - Về kiến thức:  Phân tích cách xây dựng website theo hướng dẫn cách đầy đủ hợp lý - Về kỹ năng:  Xây dựng website mức nâng cao  Sử dụng kỹ thuật cung cấp Laravel framework - Về lực tự chủ trách nhiệm:  Hình thành thói quen tư hệ thống, học tập tích cực, chủ động thói quen tn thủ yêu cầu, quy định môi trường doanh nghiệp vii CHƯƠNG 1: TỔNG QUAN VỀ Laravel Giới thiệu Chương trình bày kiến thức liên quan đến thư viện mã nguồn mở bật Bên cạnh đưa cách đánh giá framework, để từ chọn lựa framework phù hợp cho dự án Mục tiêu Chọn lựa Laravel framework để tìm hiểu mơn học này: - Liệt kê thư viện mã nguồn mở bật - Đánh giá ưu nhược điểm framework - Liệt kê tiêu chí để chọn lựa framework phù hợp - Cài đặt Laravel framework - Sau học xong chương này, sinh viên khởi tạo dự án với Laravel với framework khác Giáo Trình Lập Trình Back-End Web Trang 1.1 GIỚI THIỆU CÁC FRAMEWORK Mà NGUỒN MỞ Yêu cầu mơn học Lập trình Back-End Web người học phải tự thực tính đề Đối với mơn Lập trình Back-End Web u cầu người học phải tận dụng tối đa tài nguyên có (source code có) để hồn thiện tính cần thực website Framework mã nguồn mở có nhiều, cung cấp cách quy (gồm source code tài liệu hướng dẫn) nhiều lập trình viên chọn lựa để phát triển dự án Dưới số framework đánh giá cao nay:  CodeIgniter (https://www.codeigniter.com)  Zend (http://www.zend.com)  Laravel (https://laravel.com)  Symfony (https://symfony.com) Kể từ đây, tiếp cận sử dụng framework đó, nhà phát triển phần mềm phải tận dụng tối đa framework cung cấp Hạn chế (tuyệt đối) việc viết lại tính có (framework viết rồi) Thơng thường framework cung cấp ln có tài liệu rõ ràng (những framework thực) Yêu cầu người sử dụng framework phải nắm bắt điều để tránh sai sót Bên cạnh framework lớn trên, có số thư viện vừa nhỏ (chỉ viết số tính thơi: tính đăng nhập, tính quản lý viết, ):  lessphp (http://leafo.net/lessphp)  Savsoft Quiz(https://savsoftquiz.com) Các framework mã nguồn mở có thu phí khơng thu phí Thơng thường framework thực tính phổ dụng (thêm, xóa, sửa, viết) khơng thu phí Các framework thực tính chun sâu, tính nghiệp vụ khó, có thu phí Ví dụ số framework có thu phí: Giáo Trình Lập Trình Back-End Web Trang CHƯƠNG 5: XÁC THỰC NGƯỜI DÙNG Giới thiệu Xác nhận thông tin người dùng để xác định thành viên hệ thống hay khách truy cập bên ngồi tính tất yếu phải có hầu hết website Khi xác định thành viên hệ thống thơng qua hình thức đăng nhập, hệ thống phân quyền để xác định thành viên quyền hạn cho phép Laravel cung cấp giải pháp xác thực phân quyền mang tính bảo mật cao, cấu trúc đơn giản - Cách tiếp cận nhanh với ứng dụng xác thực thực thông qua câu lệnh: “php artisan make:auth”, “php artisan migrate”để có trải nghiệm - Cung cấp cách cấu hình bên ngồi core (config/auth.php) giúp việc cấu hình trở nên thuận lợi Hai cấu hình mẫu cung cấp: “guards”, “providers” - “Guards” cho biết cách thức xác thực request, dùng session cookies - “Providers” cho biết cách thức truy vấn liệu eloquen hay query builder Mục tiêu - Cài đặt tiện ích xác thực có - Mở rộng tiện ích xác thực với tùy chỉnh - Hiện thực phân quyền hệ thống Giáo Trình Lập Trình Back-End Web Trang 60 5.1 AUTHENTICATION Mặc định, Laravel tạo lớp Eloquent model App\User thư mục app, model mặc định sử dụng Eloquent Table users tương ứng để lưu trữ thông tin đăng nhập user lưu trữ database migrations, cài đặt liệu mẫu thư mục seeds Laravel cung cấp vài lớp phục vụ cho xác thực namespace App\Http\Controllers\Auth  RegisterController quản lý người dùng đăng ký  LoginController quản lý người dùng đăng nhập  ForgotPasswordController quản lý người dùng phục hồi mật qua email  ResetPasswordController quản lý quên mật Laravel cung cấp cách tiếp cận nhanh chóng tạo routes views cần thiết phát triển ứng dụng có sử dụng phân quyền Cú pháp thực sau: php artisan make:auth Chú ý rằng, với câu lệnh phù hợp ứng dụng phát triển Câu lệnh tạo trang đăng ký, đăng nhập, routes liên quan đến xác thực Một controller HomeController tạo để quản lý vấn đề đăng nhập Các trang lưu trữ thư mục resources\views\auth Mặc định Bootstrap CSS framework sử dụng, nhiên việc tùy biến lại Một số thực cung cấp mô tả bảng đây: Giáo Trình Lập Trình Back-End Web Trang 61 STT Phương thức Mô tả Auth::user() Lấy thông tin người dùng đăng nhập Auth::id() Lấy thông tin id người dùng đăng nhập Auth::guard(‘guard- Tùy chỉnh thông tin, cách thức xác thực name’) Auth::check() Kiểm tra xem người dùng có xác thực chưa Auth::attempt([‘email’ Kiểm tra thơng tin đăng nhập có tồn hay => $email, ‘password’ không => $password]) 5.2 Auth::logout() Logout khỏi hệ thống AUTHORIZATION Tương tự xác thực (authentication), phân quyền (authorization) cung cấp giải pháp tiếp cận đơn giản Có cách để tiến hành phân quyền Laravel gồm: gates policies Gates policies tựa routes controller Laravel Gates cho biết user phân quyền, mô tả lớp App\Providers\AuthServiceProvider (sử dụng Gate facade) Giáo Trình Lập Trình Back-End Web Trang 62 public function boot() { $this->registerPolicies(); Gate::define('update-post', function ($user, $post) { return $user->id == $post->user_id; }); } Ví dụ minh họa cách thức đăng ký phân quyền, ngồi cịn có cách thức đăng ký khác public function boot() { $this->registerPolicies(); Gate::define('update-post', 'PostPolicy@update'); } Có thể đăng ký nhiều Gate với phương thức khác (GET, POST, DELETE, …) Gate::define('posts.view', 'PostPolicy@view'); Gate::define('posts.create', 'PostPolicy@create'); Gate::define('posts.update', 'PostPolicy@update'); Gate::define('posts.delete', 'PostPolicy@delete'); Giáo Trình Lập Trình Back-End Web Trang 63 Như việc đăng ký tiến hành, để sử dụng chương trình kiểm tra user có quyền thực thao tác hay không if (Gate::allows('update-post', $post)) { // The current user can update the post } if (Gate::denies('update-post', $post)) { // The current user can't update the post } Với phương thức cung cấp: allows denies, giúp cho việc xử lý với quyền hạn tương ứng user Với Policies lớp cung cấp để phân quyền xử lý nghiệp vụ model hay resource cụ thể Ví dụ ứng dụng có blog, module tương ứng Post, sách tương ứng với model PostPolicy để phân quyền thao tác user model Post Sử dụng php artisan với cú pháp hình để tạo polices Để đăng ký polices khai báo AuthServiceProvider class AuthServiceProvider extends ServiceProvider { public function boot() { $this->registerPolicies(); // } } Giáo Trình Lập Trình Back-End Web Trang 64 Việc thực phương thức polices dựa hoàn toàn phương thức khai báo model 5.3 BÀI TẬP Bài 1: Cài đặt mở rộng tiện ích xác thực mà Laravel cung cấp php artisan make:auth php artisan migrate a) Cài đặt ứng dụng xác thực với câu lệnh để chạy ứng dụng b) Mặc định dùng email để đăng nhập, mở rộng ứng dụng để đăng nhập username email Bài 2: Tiếp tục phát triển từ a) Định nghĩa quyền: admin, user, guest  Admin: có tồn quyền hệ thống  User: chỉnh sửa thơng tin mình, khơng có quyền xem danh sách user, có quyền xem profile user  Guest: có quyền xem profile user b) Hiện thực tính với quyền Giáo Trình Lập Trình Back-End Web Trang 65 CHƯƠNG 6: XÂY DỰNG WEBSITE Giới thiệu Áp dụng kiến thức học thực hành môn học vào dự án thực tế, nhằm giúp sinh viên ghi nhớ kiến thức học, vận dụng xác thư viện kiến trúc Laravel Vận dụng kỹ phân tích dự án, quy trình quản lý dự án, … môn học trước vào môn học để thực website hoàn chỉnh Sinh viên tiến hành làm việc nhóm, phân chia cơng việc đến thành viên Sử dụng quy trình Scrum phát triển dự án Chương mô tả tổng quan kỹ thuật áp dụng vào đồ án mà sinh viên chọn Mục tiêu Đây chương quan trọng nhằm giúp sinh viên có khả năng: - Hồn thiện dự án với Laravel - Làm quen với việc sử dụng thư viện PHP Packages từ cộng đồng mã nguồn mở - Làm quen với việc sử dụng command line thực dự án - Lập tài liệu mô tả đặc tả, tài liệu hướng dẫn sử dụng Giáo Trình Lập Trình Back-End Web Trang 66 6.1 ĐẶC TẢ YÊU CẦU DỰ ÁN Tổng quan công việc cần thiết để thực dự án website với Laravel  Lập đặc tả, mô tả yêu cầu dự án cần thực  Sử dụng mẫu software requirements specification (SRS) cung cấp để mơ tả tính  Sử dụng mơ hình quản lý dự án với SCRUM để quản lý nhân sự, công việc tiến độ dự án  Triển khai dự án theo hướng làm việc nhóm, từ đến sinh viên nhóm Giao công việc rõ ràng đến thành viên Chuẩn bị môi trường làm việc để thực dự án bao gồm việc cài đặt phần mềm, giới thiệu số phần mềm cần thiết thực dự án  PHP: 7.0.x  MySQL: 5.7.x  Apache: 2.4.x  SmartGit: 1.18.x Dự án yêu cầu sử dụng tính phân quyền xác thực cung cấp Laravel Phát triển thêm tính dựa vào yêu cầu thực tế dự án cho phép đăng nhập username email Có hỗ trợ hình quản lý danh sách quyền, nhóm quyền thơng tin người dùng Đây tính u cầu bắt buộc thực dự án phân quyền xác thực với Laravel Do vậy, tất dự án cần thực tính Yêu cầu tối thiểu quyền hệ thống Mỗi quyền mơ tả sau: + Quyền admin: có tất quyền hệ thống + Quyền user: có quyền tương tác tài ngun tạo + Quyền guest: có quyền xem cho phép Giáo Trình Lập Trình Back-End Web Trang 67 Phát triển tính quản lý nội dung sản phẩm, viết, tin tức, … Hỗ trợ tính thực tế mà yêu cầu dự án cần thực Quản lý sản phẩm cho phép người dụng đặt mua, tạo hóa đơn để xử lý Tiện ích tham khảo trang thương mại điện tử ngày Sendo, Tiki, Lazada để phát triển ứng dụng phù hợp với đề tài 6.2 HIỆN THỰC DỰ ÁN Dựa vào mơ tả tính năng, thực dự án theo hướng module hóa (phát triển dùng package module) Đọc thêm tài liệu PHP Packages để tuân thủ chuẩn mực phát triển dự án với Laravel Khi phát triển cần tuân thủ tiêu chuẩn Laravel, đặt tên file, tên biến phương thức rõ ràng Tên controller nên theo cú pháp: NameController, Name tên controller Tương tự cho việc đặt modle nên có hậu tố Model sau tên model 6.3 ĐÁNH GIÁ DỰ ÁN Đánh giá dự mô tả tính nội dung mơn học, tính đáp ứng hầu hết nội dung môn học u cầu tối thiểu dự án phải có tính xác thực phân quyền, phát triển dựa tảng Laravel Không yêu cầu cài thêm vendor khác để thực chức Tuy nhiên chọn vendor hỗ trợ tính xác thực, yêu cầu tùy chỉnh vendor chọn Bên cạnh đó, việc thiết kế dự án theo hướng chuẩn Laravel, có hỗ trợ Unit Test, yêu cầu thêm phát triển dự án 6.4 MƠ TẢ SƠ LƯỢC U CẦU DỰ ÁN Giáo Trình Lập Trình Back-End Web Trang 68 Mơ tả u cầu dự án dạng file đặc tả yêu cầu, yêu cầu tính sử dụng kỹ thuật mơ tả mơn học Khuyến khích sử dụng package cung cấp trang http://packagist.com Hiện thực dự án sử dụng kỹ thuật sau Database  Sử dụng Migrations  Sử dụng Seeding  Sử dụng Redis Security  Authentication  Authorization Front-end  Blade templates  Frontend Scaffolding Packages  Package ACL  Package Post  Package Categories 6.5 PHÁT TRIỂN VENDOR TRONG Laravel Laravel phát triển theo hướng vendor, mặc định vendor lưu trữ nguồn Packagist (https://packagist.org/) Như mô tả phần tiến hành cài đặt Laravel thơng qua composer, chương trình tìm kiếm Packagist để tiến hành tải vendor cài đặt vào Laravel Trong phần mô tả cách thức tạo mẫu vendor để đưa lên Packagist, sau tiến hành cài đặt vendor mẫu vào Laravel Giáo Trình Lập Trình Back-End Web Trang 69 Yêu cầu thực  Có tài khoản trang https://github.com/  Có tài khoản trang https://packagist.org/  Đã cài đặt Git SCM (https://git-scm.com/)  Đã cài đặt composer (https://getcomposer.org/) Tạo project trang Github Hình 6- Tạo project trang Github Trong đó: (1) Tên đăng nhập trang Github (2) Tên vendor muốn tạo Tiến hành clone source lưu nơi cần tạo vendor Điều hướng đường dẫn command line đến vị trí muốn tạo vendor (tên gọi khác package) gõ lệnh composer init Giáo Trình Lập Trình Back-End Web Trang 70 Hình 6- Khởi tạo vendor Trong đó: (1) Câu lệnh composer init dùng để khởi tạo vendor với số thiết lập sẵn (2) Ví dụ mẫu cú pháp đặt tên vendor (3) Đặt tên vendor cần tạo Ví dụ: tdc/myvendor Trong tdc user name trang https://github.com/ Ví dụ mẫu file composer.json tạo thành cơng Giáo Trình Lập Trình Back-End Web Trang 71 Hình 6- Ví dụ file composer.json mẫu Không thiết phải dùng câu lệnh composer init để tạo file mẫu này, nhờ tạo câu lệnh giúp trình phát triển hệ thống tránh lỗi cú pháp nội dung file Giới thiệu số thuộc tính file + name: tên vendor + description: mô tả vendor + keywords: người dùng tìm vendor thơng qua từ khóa mô tả + authors: thông tin tác giả tạo vendor + license: thông tin giấy phép quyền + require: có sử dụng vendor khác + autoload: tên gọi vendor đăng ký với hệ thống Cho đến lúc việc tạo cú pháp vendor hồn thành (tuy nhiên vendor chưa có chức thực) Tiến hành đưa vendor lên trang Github (https://github.com) Đăng ký giao tiếp với trang Packagist từ Github Giáo Trình Lập Trình Back-End Web Trang 72 Hình 6- Cấu hình webhooks Xác nhận đăng ký từ trang Packagist Hình 6- Xác nhận đăng ký từ trang Packagist Trong đó: (1) Tìm kiếm vendor tạo từ Github (2) Xác nhận vendor tạo (3) Xác nhận đăng ký với Packagist Như đến lúc vendor đăng ký thành công Việc cài đặt vendor vào Laravel với câu lệnh cung cấp sẵn mục số (2) Chu trình khởi tạo, cài đặt sử dụng vendor mô tả Tuy nhiên, q trình mơ tả trên, vendor chưa thực tính Để thực vendor, yêu cầu tạo ServiceProvider class PostServiceProvider extends ServiceProvider { public function boot(Request $request) { } public function register() { } } Giáo Trình Lập Trình Back-End Web Trang 73 Đăng ký file với Laravel config/app.php mục provider Cú pháp đặt tên theo mẫu cung cấp file Quá trình đăng ký file thành công Việc phát triển nội dung vendor hoàn toàn tương tự cách hướng dẫn học Tuy nhiên, tất file đặt tập trung vendor TÀI LIỆU THAM KHẢO [1] W Jason Gilmore, Easy Laravel 5, 2014 [2] Vijay Mallya, Tutorials Point (I) Pvt Ltd., 2016 Website [1] https://laravel.com Giáo Trình Lập Trình Back-End Web Trang 74 ... học Lập trình Back-End Web mơn học bắt buộc với chương trình đào tạo ngành Công nghê thông tin Đây môn học cho lập trình Back-End Web mơn học tảng cho cách tiếp cận framework Ở môn học Lập trình. .. nguồn mở để thực tính website, thay phải tự code Giáo trình biên soạn dựa theo đề cương mơn học ? ?Lập trình BackEnd Web 2? ?? Khoa Công nghệ thông tin – Trường Cao đẳng Công nghệ Thủ Đức Mặc dù tác... khác Giáo Trình Lập Trình Back-End Web Trang 1.1 GIỚI THIỆU CÁC FRAMEWORK Mà NGUỒN MỞ u cầu mơn học Lập trình Back-End Web người học phải tự thực tính đề Đối với mơn Lập trình Back-End Web yêu

Ngày đăng: 11/10/2022, 22:02

Hình ảnh liên quan

Hình 1-1 Màn hình tại trang chủ Laravel - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 1.

1 Màn hình tại trang chủ Laravel Xem tại trang 14 của tài liệu.
Hình 1 -5 Quá trình cài đặt Laravel - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 1.

5 Quá trình cài đặt Laravel Xem tại trang 16 của tài liệu.
Hình 1- 4 Các phiên bản Laravel trên packagist.org - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 1.

4 Các phiên bản Laravel trên packagist.org Xem tại trang 16 của tài liệu.
Hình 1- 6 Cấu trúc thư mục tổ chức code của Laravel - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 1.

6 Cấu trúc thư mục tổ chức code của Laravel Xem tại trang 17 của tài liệu.
Hình 1- 7 Trang HelloWorld - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 1.

7 Trang HelloWorld Xem tại trang 20 của tài liệu.
Hình 2 -1 Kiến trúc middleware - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 2.

1 Kiến trúc middleware Xem tại trang 29 của tài liệu.
Như hình trên, tất cả các request đều đi qua middleware trước khi vào ứng dụng.Tuy nhiên trong ứng dụng có thể khơng có middleware - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

h.

ư hình trên, tất cả các request đều đi qua middleware trước khi vào ứng dụng.Tuy nhiên trong ứng dụng có thể khơng có middleware Xem tại trang 29 của tài liệu.
3.4.2. CẤU HÌNH DATABASE - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

3.4.2..

CẤU HÌNH DATABASE Xem tại trang 46 của tài liệu.
Hình 3 -1 Kiến trúc tổng quan ứng dụng - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 3.

1 Kiến trúc tổng quan ứng dụng Xem tại trang 50 của tài liệu.
Thông tin cấu hình database được lưu trữ tại: config/database.php. - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

h.

ông tin cấu hình database được lưu trữ tại: config/database.php Xem tại trang 53 của tài liệu.
Hình 4- 2 Eloquent ORM tương tác với các model trong Laravel- Nguồn Dev.To Ví dụ 1: Cho bảng dữ liệu Flight trong cơ sở dữ liệu, model tương ứng là  - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 4.

2 Eloquent ORM tương tác với các model trong Laravel- Nguồn Dev.To Ví dụ 1: Cho bảng dữ liệu Flight trong cơ sở dữ liệu, model tương ứng là Xem tại trang 54 của tài liệu.
Khai báo tên bảng $tabl e= 'my_flights'; - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

hai.

báo tên bảng $tabl e= 'my_flights'; Xem tại trang 54 của tài liệu.
Eloquent giả sử trong bảng tồn tại 2 cột: created_at, updated_at. Giá trị hai cột này sẽ được tự động cập nhật nếu thiết lập $timestamps = true - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

loquent.

giả sử trong bảng tồn tại 2 cột: created_at, updated_at. Giá trị hai cột này sẽ được tự động cập nhật nếu thiết lập $timestamps = true Xem tại trang 55 của tài liệu.
Ví dụ 2: Hiển thị dữ liệu trong bảng flights thông qua model flights - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

d.

ụ 2: Hiển thị dữ liệu trong bảng flights thông qua model flights Xem tại trang 55 của tài liệu.
Phương thức all trả về tất cả dữ liệu trong bảng. Ngoài ra, Eloquent get sẽ thêm các điều kiện ràng buộc khi truy vấn dữ liệu - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

h.

ương thức all trả về tất cả dữ liệu trong bảng. Ngoài ra, Eloquent get sẽ thêm các điều kiện ràng buộc khi truy vấn dữ liệu Xem tại trang 56 của tài liệu.
Các bảng trong cơ sở dữ liệu thường có mối quan hệ lẫn nhau. Ví dụ: một blog (bảng blog) có thể có nhiều bình luận (bảng comments) - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

c.

bảng trong cơ sở dữ liệu thường có mối quan hệ lẫn nhau. Ví dụ: một blog (bảng blog) có thể có nhiều bình luận (bảng comments) Xem tại trang 59 của tài liệu.
Ví dụ 1: Định nghĩa hàm getFirstNameAttribute cho cột first_name trong bảng user - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

d.

ụ 1: Định nghĩa hàm getFirstNameAttribute cho cột first_name trong bảng user Xem tại trang 63 của tài liệu.
Quy cách đặt tên cột trong bảng được đề nghị là: chữ thường, nếu có từ 2 từ trở lên sẽ được ngăn cách bởi dấu “_” - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

uy.

cách đặt tên cột trong bảng được đề nghị là: chữ thường, nếu có từ 2 từ trở lên sẽ được ngăn cách bởi dấu “_” Xem tại trang 64 của tài liệu.
Hình 4- 3 Lược đồ cơ sở dữ liệu - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 4.

3 Lược đồ cơ sở dữ liệu Xem tại trang 66 của tài liệu.
Sử dụng php artisan với cú pháp như hình trên để tạo một polices. - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

d.

ụng php artisan với cú pháp như hình trên để tạo một polices Xem tại trang 72 của tài liệu.
Hình 6 -1 Tạo project trên trang Github - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 6.

1 Tạo project trên trang Github Xem tại trang 78 của tài liệu.
Hình 6- 2 Khởi tạo vendor - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 6.

2 Khởi tạo vendor Xem tại trang 79 của tài liệu.
Hình 6- 3 Ví dụ file composer.json mẫu - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 6.

3 Ví dụ file composer.json mẫu Xem tại trang 80 của tài liệu.
Hình 6 -5 Xác nhận đăng ký từ trang Packagist - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 6.

5 Xác nhận đăng ký từ trang Packagist Xem tại trang 81 của tài liệu.
Hình 6- 4 Cấu hình webhooks - Giáo trình lập trình Back-End web 2 Dành cho bậc Cao đẳng ngành Công nghệ thông tin

Hình 6.

4 Cấu hình webhooks Xem tại trang 81 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan