Đồ án Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale

pdf 64 trang thiennha21 14/04/2022 5571
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_an_nghien_cuu_laravel_framework_va_dich_vu_thanh_toan_tru.pdf

Nội dung text: Đồ án Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale

  1. TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT - HÀN KHOA CÔNG NGHỆ THÔNG TIN  TRẦN KHÁNH LỘC NGHIÊN CỨU LARAVEL FRAMEWORK VÀ DỊCH VỤ THANH TOÁN TRỰC TUYẾN PAYPAL ĐỂ XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ CHO CÔNG TY GREEN SALE ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN NIÊN KHÓA: 2016 - 2019 Đà Nẵng, 06/2019
  2. TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT - HÀN KHOA CÔNG NGHỆ THÔNG TIN  TRẦN KHÁNH LỘC MÃ HSSV: CCCT16B011 NGHIÊN CỨU LARAVEL FRAMEWORK VÀ DỊCH VỤ THANH TOÁN TRỰC TUYẾN PAYPAL ĐỂ XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ CHO CÔNG TY GREEN SALE ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN NIÊN KHÓA: 2016 - 2019 Cán bộ hướng dẫn: ThS. Trịnh Thị Ngọc Linh Đà Nẵng, 06/2019
  3. LỜI C ƠN Trong quá trình thực hiện đề tài này chúng em đã cố gắng hết sức để tìm hiểu và cài đặt chương trình nhưng vì lượng kiến thức có hạn nên có thể chưa giải quyết được tất cả các vấn đề đặt ra. Hơn nữa, quá trình khảo sát đề tài vẫn còn những hạn chế nhất định, ảnh hưởng tới việc phân tích và thiết kế hệ thống còn chưa tối ưu. Em rất mong nhận được sự thông cảm của Thầy, Cô giáo. Em xin ch n thành cảm ơn c Trịnh Thị Ng c inh đã g p và giúp đ em trong suốt quá trình làm đề tài này để em hoàn thành được tốt đ p và đúng tiến đ được giao. Em xin chân thành cảm ơn! i
  4. MỤC LỤC ỜI C N i MỤC LỤC ii DANH MỤC HÌNH NH v Ở ĐẦU 1 1. T nh cấp thiết của đề tài 1 2. ục ti u nghi n cứu 1 3. Đối tượng và phạm vi nghi n cứu 1 4. Phương pháp nghi n cứu 1 5. ngh a hoa h c và thực ti n của đề tài 1 6. ố cục đề tài 2 CHƯƠNG CƠ SỞ L LUẬN 3 1.1. LARAVEL FRAMEWORK 3 1.1.1. Framewor là gì 3 1.1.2. aravel là gì 3 1.1.3. Lịch sử ra đời 3 1.1.4. hình VC là gì 4 1.1.5. Ưu nhược điểm 5 1.2. MICROSOFT SQL SERVER 7 1.2.1. hái niệm 7 1.2.2. Lịch sử phát triển 7 1.2.3. Các thành phần 7 1.3. PHP 8 1.3.1. Mô tả về PHP 8 1.3.2. Phiên bản của PHP 9 1.4. HTML 10 1.4.1. HTML là gì? 10 1.4.2. Bố cục cơ bản của HTML trên m t trang web 10 ii
  5. 1.4.3. Thẻ HTML 12 1.4.4. Trình duyệt Web 12 1.4.5. Thẻ 13 1.4.6. Công cụ code HTML 13 1.5. CSS 13 1.5.1. CSS là gì? 13 1.5.2. Cấu trúc 13 1.6. PHƯ NG THỨC THANH TOÁN PAYPAL 14 CHƯƠNG PH N T CH THIẾT Ế WEBSITE L G 15 2.1. T NG QUAN V Đ T I 15 2.1.1. Phát biểu bài toán 15 2.1.2. Y u cầu hệ thống 15 2.2. H NH H A Y U CẦU 16 2.2.1. Xác định tác nh n 16 2.2.2. Xác định các trường hợp sử dụng 16 2.2.3. Đặc tả các trường hợp sử dụng 16 2.2.4. iểu đ trường hợp sử dụng 22 2.2.5. iểu đ hoạt đ ng 24 2.3. H NH H I NIỆ 26 2.3.1. Các lớp bi n của hệ thống 26 2.3.2. Các lớp điều hiển của hệ thống 26 2.3.3. iểu đ lớp thực thể mức ph n t ch 27 2.4. H NH TƯ NG T C 28 2.4.1. iểu đ tuần tự 28 2.4.2. iểu đ c ng tác 29 2.4.3. iểu đ trạng thái 30 CHƯƠNG GIỚI THIỆU V WEBSITE 31 3.1. SỬ DỤNG ARAVE ĐỂ XẤY DỰNG WEBSITE 31 iii
  6. 3.1.1. Cài đặt công cụ 31 3.1.2. Cấu trúc 35 3.1.3. Các thư viện 37 3.2. HƯỚNG DẪN CÁCH MUA HÀNG VÀ THANH TOÁN 45 ẾT LUẬN 56 T I IỆU THA H O vi iv
  7. DANH MỤC HÌNH NH Hình 1.1. Lu ng đi trong VC 5 Hình 1.2. Bố cục cơ bản của HTML trên m t trang web 11 Hình 1.3. Hiển thị ra ngoài trình duyệt 12 Hình 2.1. Biểu đ trường hợp sử dụng của hệ thống 22 Hình 2.2. Biểu đ trường hợp cập nhật sản phẩm 23 Hình 2.3. Biểu đ trường hợp thanh toán 23 Hình 2.4. Biểu đ hoạt đ ng đăng nhập hệ thống 24 Hình 2.5. Biểu đ hoạt đ ng đăng thành vi n 24 Hình 2.6. Biểu đ hoạt đ ng thanh toán 25 Hình 2.7. Biểu đ hoạt đ ng xem thông tin giỏ hàng 25 Hình 2.8. Lớp biên của hệ thống 26 Hình 2.9. Lớp điều khiển của hệ thống 26 Hình 2.10. Biểu đ lớp 27 Hình 2.11. Biểu đ tuần tự đăng nhập 28 Hình 2.12. Biểu đ tuần tự thanh toán 28 Hình 2.13. Biểu đ c ng tác thanh toán 29 Hình 2.14. Biểu đ c ng tác đăng nhập hệ thống 29 Hình 2.15. Biểu đ trạng thái đăng nhập 30 Hình 2.16. Biểu đ trạng thái thanh toán 30 Hình 2.17. Biểu đ trạng thái tìm kiếm 30 Hình 3.1. Giao diện trang chủ 46 Hình 3.2. Giao diện chi tiết sản phẩm 47 Hình 3.3. Giao diện giỏ hàng 48 Hình 3.4. Giao diện đăng nhập, đăng 49 Hình 3.5. Giao diện thanh toán 50 Hình 3.6. Giao diện xem lại đơn hàng 51 Hình 3.7. Giao diện thanh toán lúc giao hàng 52 Hình 3.8. Giao diện thanh toán trực tuyến 53 v
  8. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Ở ĐẦU 1. T h ấ h à Với số lượng hách hàng mỗi lúc m t tăng và các đơn hàng trở n n dày đặc. Nên nhu cầu cần đến m t website thương mại điện tử và sử dụng dịch vụ thanh toán trực tuyến là m t cách v cùng hiệu quả để quản l việc mua bán, thanh toán trực tuyến và chăm s c hách hàng của doanh nghiệp hoặc các c ng ty về thương mại. n cạnh đ m t framewor hỗ trợ rất nhiều thư viện để giúp việc x y dựng website d dàng đ ch nh là aravel framewor . Xuất phát từ các l do đ , em ch n đề tài: “Nghi n cứu Laravel framwork và sử dụng thanh toán trực tuyến Paypal để x y dựng website thương mại điện tử cho C ng ty Green Sale”. 2. h Tìm hiểu các c ng nghệ về lập trình web: Tìm hiểu về framewor của php là aravel. Nguy n l hoạt đ ng của m t ứng dụng web được lập trình từ aravel framework. Các c ng nghệ lập trình hệ thống tr n website: ng n ngữ Php. Dịch vụ thanh toán Paypal 3. Đ ư à h h a. i tư ng nghi n cứu - Ng n ngữ Php, Laravel Framework. - Công cụ lập trình: Sublime Text 3, Xampp. - Các thư viện trong aravel framewor như igration, Seeder, Auth, - Dịch vụ thanh toán trực tuyến Paypal b. Phạm vi nghi n cứu - Đề tài ch dừng trong phạm mua hàng và thanh toán trực tuyến Paypal 4. Phư h h - Tìm hiểu, nghi n cứu aravel Framewor dựa vào các tài liệu tr n mạng Internet. - Thực hiện đề tài dưới sự hướng dẫn trực tiếp của giảng vi n và tự tìm hiểu th m dựa vào các tài liệu tr n mạng. 5. h h họ à hự à - Website thương mại điện tử Green Sale là m t website được tạo ra để phục vụ việc mua bán các loại sản phẩm trong cửa hàng tr n mạng Internet. - Hệ thống s đáp ứng m t số y u cầu: SVTH: Trần Khánh Lộc – Lớp CCCT16B 1
  9. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Mua các loại sản phẩm của cửa hàng qua mạng Internet. Thanh toán trực tuyến qua Paypal hoặc thanh toán trực tiếp hi nhận sản phẩm. 6. B à áo cáo được trình bày bao g m các phần ch nh như sau: Chương 1. Cơ sở l luận Chương 2. Ph n t ch thiết ế website là gì? Chương 3. Website là gì? SVTH: Trần Khánh Lộc – Lớp CCCT16B 2
  10. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale CHƯƠNG : CƠ SỞ L LUẬN 1.1. LARAVEL FRAMEWORK 1.1.1. à Framework là các lớp đã được xây dựng hoàn ch nh, b hung để phát triển các phần mềm ứng dụng. Có thể v Framewor như tập các “ Vật liệu” ở từng l nh vực cho người lập trình viên, thay vì h phải mất nhiều thời gian để tự thiết kế trước khi dùng. Do vậy, người lập trình viên ch cần tìm hiểu và khai thác các vật liệu này r i thực hiện để gắn kết chúng lại với nhau, tạo ra sản phẩm. 1.1.2. L à Laravel là m t php framework mã ngu n mở và mi n ph , được phát triển bởi Taylor Otwell và nhắm mục tiêu hỗ trợ phát triển các ứng dụng web theo cấu trúc model- view- controller (MVC). Những t nh năng nổi bật của Laravel bao g m cú pháp d hiểu- rõ ràng, m t hệ thống đ ng g i odular và quản lý gói phụ thu c, nhiều cách hác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng. 1.1.3. Lịch sử ời ản aravel beta đầu ti n được phát hành vào ngày 9/6/2011, tiếp đ là Laravel 1 phát hành trong cùng tháng. aravel 1 bao g m các t nh năng như xác thực, bản địa h a, model, view, session, định tuyến và các cơ cấu hác, nhưng vẫn còn thiếu controller, điều này làm n chưa thật sự là m t VC framewor đúng ngh a. Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiều cài tiến từ tác giả và c ng đ ng. T nh năng đáng ể bao g m hỗ trợ controller, điều này thực sự biến aravel 2 thành m t VC framewor hoàn ch nh, hỗ trợ Inversion of Control (IoC), hệ thống template lade. n cạnh đ , c m t nhược điểm là hỗ trợ cho các g i của nhà phát triển b n thứ 3 bị g bỏ. Laravel 3 được phát hành vào tháng 2 năm 2012, với m t tấn t nh năng mới bao g m giao diện dòng lệnh (C I) t n “Artisan”, hỗ trợ nhiều hơn cho hệ thống quản trị cơ sở dữ liệu, chức năng ánh xạ cơ sở dữ liệu igration, hỗ trợ “bắt sự iện” trong ứng dụng, và hệ thống quản l g i g i là “ undles”. ượng người dùng và sự phổ biến tăng trưởng mạnh ể từ phi n bản aravel 3. Laravel 4, t n mã “Illuminate”, được phát hành vào tháng 5 năm 2013. ần này thực sự là sự l t xác của aravel framewor , di chuyển và tái cấu trúc các g i hỗ trợ vào m t tập được ph n phối th ng qua Composer, m t chương trình quản l g i thư SVTH: Trần Khánh Lộc – Lớp CCCT16B 3
  11. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale viện phụ thu c đ c lập của PHP. ố tr mới như vậy giúp hả năng mở r ng của aravel 4 tốt hơn nhiều so với các phi n bản trước. Ra mắt lịch phát hành ch nh thức mỗi sáu tháng m t phi n bản n ng cấp nhỏ. các t nh năng hác trong Laravel 4 bao g m tạo và th m dữ liệu mẫu (database seeding), hỗ trợ hàng đợi, các iểu gởi mail, và hỗ trợ “x a mềm” (soft-delete: record bị l c hỏi các truy vấn từ Eloquent mà h ng thực sự x a hẳn hỏi D ). Laravel 5 được phát hành trong tháng 2 năm 2015, như m t ết quả thay đổi đáng ể cho việc ết thúc vòng đời n ng cấp aravel l n 4.3. n cạnh m t loạt t nh năng mới và các cải tiến như hiện tại, aravel 5 cũng giới thiệu cấu trúc c y thư mục n i b cho phát triển ứng dụng mới. Những t nh năng mới của aravel 5 bao g m h trợ lập lịch định ỳ thực hiện nhiệm vụ th ng qua m t g i t n là “Scheduler”, m t lớp trừu tượng g i là “Flysystem” cho phép điều hiển việc lưu trữ từ xa đơn giản như lưu trữ tr n máy local – d thấy nhất là mặc định hỗ trợ dịch vụ Amazone S3, cải tiến quản l assets th ng qua “Elixir”, cũng như đơn giản h a quản l xác thực với các dịch vụ b n ngoài bằng g i “Socialite”. Laravel 5.1 phát hành vào tháng 6 năm 2015, là bản phát hành đầu ti n nhận được hỗ trợ dài hạng ( TS) với m t ết hoạch fix bug l n tới 2 năm vào hỗ trợ vá lỗi bảo mật l n tới 3 năm. Các bản phát hành TS của aravel được l n ế hoạch theo mỗi 2 năm. Laravel 5.8 là version mới nhất của aravel. 1.1.4. h h VC à 1.1.4.1. VC là viết tắt của odel-View-Controller. à m t iến trúc phần mềm hay m hình thiết ế được sử dụng trong thuật phần mềm. N i cho d hiểu, n là m hình ph n bố source code thành 3 phần, mỗi thành phần c nhiệm vụ ri ng biệt và đ c lập với các thành phần hác. 1.1.4.2. Controller: Giữ nhiệm vụ điều hướng các y u cầu từ người dùng và g i đúng những phương thức xử l chúng Chẳng hạn thành phần này s nhận request từ url và form để thao tác trực tiếp với odel. odel: Đ y là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử l , truy xuất database, đối tượng m tả dữ liệu như các Class, hàm xử l View: Đảm nhận việc hiển thị th ng tin, tương tác với người dùng, nơi chứa tất cả các đối tượng GUI như textbox, images, Hiểu đơn giản thì n là tập hợp các form SVTH: Trần Khánh Lộc – Lớp CCCT16B 4
  12. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale hoặc các file HT . 1.1.4.3. Hình 1.1. Luồng đi trong MVC hi c m t y u cầu từ ph a client gửi đến Sever, b phận Controller c nhiệm vụ nhận y u cầu, xử l y u cầu đ . Và nếu cần, n s g i đến phần model, vốn là b phận làm việc với database. Sau hi xử l xong, toàn b ết quả được đẩy về phần View. Tại View, s gen ra mã HT tạo n n giao diện, và trả toàn b html về trình duyệt để hiển thị. 1.1.5. Ư hư c ểm 1.1.5.1. Sử dụ c c tí ă ới nhất của PHP t trong những t nh năng làm cho PHP ararel framewor trở n n nổi bật hơn tất cả đ là n sử dụng tất cả các t nh năng mới của PHP. Các framework khác không tận dụng được điểu này. Sử dụng aravel 5 bạn s sở hữu m t số t nh năng mới nhất mà PHP cung cấp, đặc biệt là trong Namespaces, Interfaces, Overloading, Anonymous functions và Shorter array syntax. Đã c rất nhiều b C S nổi bật được viết tr n nền aravel framewor ra đời, từ những b C S đơn giản nhất đến những b "si u mạnh", từ mã ngu n mở đến thương mại. 1.1.5.2. Tài li u tuy t vời Tài liệu của aravel rất th n thiện với nhà phát triển. Tất cả các phi n bản của aravel được phát hành cùng với các tài liệu phù hợp, bạn s tìm thấy những giải th ch chi tiết về coding style, methods và classes. SVTH: Trần Khánh Lộc – Lớp CCCT16B 5
  13. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 1.1.5.3. Tích hợp với dịch vụ mail Các ứng dụng web bắt bu c phải th ng báo cho người dùng về các deal và offer mới. Đăng người dùng mới cũng rất quan tr ng (ngh a là th ng báo cho người dùng mới hi anh ấy/ c ấy đăng ). Framewor được trang bị API sạch tr n thư viện SwiftMailer. Và có các driver cho SMTP, Mailgun, SparkPost, Mandrill, PHP's "mail" function, Amazon SES, và "sendmail" giúp bạn gửi thư qua các dịch vụ dựa tr n đám m y hoặc dịch vụ local. 1.1.5.4. Hỗ trợ cache backend phổ biến aravel framewor hỗ trợ các cache bac end như emcached và Redis out-of- the-box. ạn cũng c thể tùy ch nh nhiều cấu hình cache. 1.1.5.5. Công cụ tích hợp cho dòng l nh - Artisan Các nhà phát triển thường thấy tẻ nhạt hi thực hiện các nhiệm vụ lập trình lặp đi lặp lại vì chúng rất tốn thời gian. C ng cụ dòng lệnh c t n Artisan giúp h tạo hung code và quản l hệ thống cơ sở dữ liệu hiệu quả. Artisan giúp tạo các tệp VC cơ bản và quản l tài sản, bao g m cả các cấu hình tương ứng của chúng. 1.1.5.6. Gói và ngu n lực sẵn có ạn s được hưởng lợi ch từ npm pac age và bower pac age bằng cách ết hợp framewor với Gulp và elixir, giúp trong việc sửa đổi tài nguy n. Việc t ch hợp này s giải quyết các phụ thu c và là ngu n g i đáng tin cậy nhất trong thế giới PHP. 1.1.5.7. Giảm chu kỳ phát triển sản phẩm ạn c thể giảm đáng ể chu ỳ phát triển sản phẩm vì framwor giúp t ch hợp nhanh hơn, b n cạnh đ là c ng đ ng hỗ trợ rất lớn - Laracasts. 1.1.5.8. Container IoC Còn được g i là Inversion of Control, đ y là m t phương thức để tạo các đối tượng mới mà h ng phải hởi đ ng bất ỳ thư viện b n ngoài nào. N i cách hác, bạn c thể truy cập các đối tượng này từ bất cứ nơi nào bạn đang mã h a, bạn s h ng còn gặp h hăn với các cấu trúc nguy n hối h ng linh hoạt. 1.1.5.9. Reverse Routing Đ y là m t t nh năng rất hữu ch trong framwor , bạn c thể tạo li n ết đến các route được đặt t n. Vì vậy, hi tạo các li n ết, bạn ch cần sử dụng t n của b định tuyến, framewor s tự đ ng chèn UR ch nh xác. Nếu bạn cần thay đổi các route trong tương lai, những thay đổi s tự đ ng được thực hiện ở m i nơi. SVTH: Trần Khánh Lộc – Lớp CCCT16B 6
  14. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 1.1.5.10. Eloquent ORM Đ y là m t trong những t nh năng tốt nhất của aravel, cung cấp m t triển hai ActiveRecord đơn giản và hiệu quả, làm việc với cơ sở dữ liệu. Các m hình bạn tạo trong VC s c m t bảng tương ứng trong cơ sở dữ liệu. OR c các mối quan hệ, nếu bạn thao tác m t bảng trong cơ sở dữ liệu, bạn cũng s quản l các dữ liệu li n quan. Các mối quan hệ đ là: one-to-one, one-to-many, many-to-many, has-many- through, polymorphic, và many-to-many polymorphic. 1.2. MICROSOFT SQL SERVER 1.2.1. h Microsoft SQL Server là hệ quản trị cơ sở dữ liệu (CSD ) quan hệ do hãng icrosoft phát triển sử dụng ng n ngữ truy vấn Transact-SQ (T-SQ ) để trao đổi dữ liệu giữa máy hách (Client) và máy chủ (Server) – hình Client Server. Hiện nay, S SQ Server ch chạy tr n hệ điều hành windows của icrosoft. Nhưng việc ết nối đến S SQ Server c thể thực hiện từ các hệ điều hành hác nhau dựa tr n thư viện mà các nhà phát triển cung cấp. 1.2.2. Lịch sử phát triển Năm 1974, phi n bản cơ sở dữ liệu quan hệ phi thương mại, h ng hỗ trợ SQ đầu ti n được phát triển. Năm 1978, hởi đầu thử nghiệm phương pháp tại m t cơ sở của hách hàng. Cu c thử nghiệm đã chứng minh được sự c ch và t nh thực ti n của hệ thống. Chứng tỏ sự thành c ng của I . Dựa vào ết quả đ , I bắt đầu phát triển các sản phẩm thương mại bổ sung th m SQ dựa tr n nguy n mẫu Hệ thống R bao g m: System/38 (Hệ thống/38) (được c ng bố năm 1978 và được thương mại h a tháng 8 năm 1979) SQ /DS (được giới thiệu vào năm 1981) D 2 (năm 1983). 1.2.3. C hà h hầ Các thành cơ bản trong SQ Server g m c : Reporting Services, Database Engine, Integration Services, Notification Services, Full Text Search Service, Tất cả ết hợp với nhau tạo thành m t giải pháp hoàn ch nh giúp cho việc ph n t ch và lưu trữ dữ liệu trở n n d dàng hơn. SVTH: Trần Khánh Lộc – Lớp CCCT16B 7
  15. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Database Engine: Đ y là m t engine c hả năng chứa dữ liệu ở các quy mô dưới dạng support và table. Ngoài ra, n còn c hả năng tự điều ch nh v dụ: trả lại tài nguy n cho ệ điều hành hi m t user log off và sử dụng th m các tài nguy n của máy hi cần. Integration Services: là tập hợp các đối tượng lập trình và các c ng cụ đ h a cho việc sao chép, di chuyển và chuyển đổi dữ liệu. hi bạn làm việc trong m t c ng ty lớn thì dữ liệu được lưu trữ ở nhiều nơi hác nhau như được chứa trong: Oracle, SQ Server, D 2, icrosoft Access, và bạn chắc chắn s c nhu cầu di chuyển dữ liệu giữa các server này. Ngoài ra, bạn còn muốn định dạng dữ liệu trước hi lưu vào database. Chắc chắn Integration Services s giúp bạn giải quyết được c ng việc này d dàng. Analysis Services: Đ y là m t dịch vụ ph n t ch dữ liệu rất hay của icrosoft. Dữ liệu hi được lưu trữ vào trong database mà bạn h ng thể lấy được những th ng tin bổ ch thì coi như h ng c ngh a gì. Ch nh vì thế, c ng cụ này ra đời giúp bạn trong việc ph n t ch dữ liệu m t cách hiệu quả và d dàng bằng cách dùng thuật khai thác dữ liệu – datamining và hái niệm hình hối nhiều chiều – multi dimendion cubes. Notification Services: Dịch vụ th ng báo này là nền tảng cho sự phát triển và triển hai các ứng dụng soạn và gửi th ng báo. Ngoài ra, dịch vụ này còn c chức năng gửi th ng báo theo dịch thời đến hàng ngàn người dăng sử dụng tr n nhiều loại thiết bị hác nhau. Reporting Services: là m t c ng cụ tạo, quản l và triển hai báo cáo bao g m: server và client. Ngoài ra, n còn là nền tảng cho việc phát triển và x y dựng các ứng dụng báo cáo. Full Text Search Service: là m t thành phần đặc biệt trong việc truy vấn và đánh ch mục dữ liệu văn bản h ng cấu trúc được lưu trữ trong các cơ sở dữ liệu SQ Server. Service Broker: là m t m i trường lập trình cho việc tạo ra các ứng dụng trong việc nhảy qua các Instance. 1.3. PHP 1.3.1. Mô tả v PHP PHP chủ yếu được dùng để phát triển các ứng dụng Web, mã ngu n mở ( CMS ). Có thể d dàng nhúng vào trang HT . Do được tối ưu h a cho các ứng dụng web, SVTH: Trần Khánh Lộc – Lớp CCCT16B 8
  16. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale tốc đ nhanh, nhỏ g n, cú pháp giống ngôn ngữ lập trình C và ngôn ngữ lập trình Java, d h c và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác n n PHP đã nhanh ch ng trở thành m t ngôn ngữ lập trình web phổ biến nhất thế giới. an đầu PHP được viết với mục đ ch tạo ra các website cá nhân nên PHP là chữ viết tắt của "Personal Home Page". Tuy nhi n sau đ cùng với sự phát triển mạnh m của ngôn ngữ này thì PHP đã được dùng với nhiều mục đ ch hác nhau. Tạo ra các trang web doanh nghiệp, hệ quản trị n i dung (C S), trang thương mại điện tử và thậm chí các trang mạng xã h i Lúc này c ng đ ng PHP nhận thấy cần có sự thay đổi tên g i của PHP để phản ánh đúng hơn mục đ ch sử dụng. Dựa trên chức năng của PHP được dùng như m t chương trình để tạo ra trang HT đ ng nên cụm từ "Hypertext Preprocessor" được sử dụng, do đ PHP được hình thành từ cách lấy chữ P (trong Preprocessor), H (trong Hypertext) và P (trong Preproceessor), từ cụm từ "Hypertext Preprocessor". 1.3.2. Phiên bản c a PHP 1.3.2.1. PHP/FI PHP được phát triển từ m t sản phẩm c t n là PHP/FI. PHP/FI do Rasmus erdorf tạo ra năm 1994. PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter". PHP/FI 2.0 được ch nh thức c ng bố vào tháng 11 năm 1997. 1.3.2.2. PHP 3 PHP 3 đã được Andi Gutmans và Zeev Suras i tạo ra năm 1997 sau hi viết lại hoàn toàn b mã ngu n trước đ ( PHP/FI 2.0 ) . Andi, Rasmus và Zeev đã quyết định hợp tác và c ng bố PHP 3.0 như là phi n bản thế hệ ế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0. PHP 3.0 đã ch nh thức được c ng bố vào tháng 6 năm 1998. 1.3.2.3. PHP 4 Ngoài tốc đ xử l được cải thiện rất nhiều, PHP 4.0 đem đến các t nh năng chủ yếu hác g m c sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phi n làm việc HTTP, tạo b đệm th ng tin đầu ra, nhiều cách xử l th ng tin người sử dụng nhập vào bảo mật hơn và cung cấp m t vài các cấu trúc ng n ngữ mới. 1.3.2.4. PHP 5 Ngày 29 tháng 6 năm 2003, PHP 5 eta 1 đã ch nh thức được c ng bố để c ng đ ng iểm nghiệm. Phi n bản eta 2 sau đ đã ra mắt vào tháng 10 năm 2003. Ngày 21 tháng 12 năm 2003: PHP 5 eta 3 đã được c ng bố. Hiện tại PHP 5 là phi n bản c nhiều người dùng nhất t nh đến thời điểm hiện tại ( 2018 ). SVTH: Trần Khánh Lộc – Lớp CCCT16B 9
  17. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 1.3.2.5. PHP 6 PHP 6 là m t dự án được phát triển từ 2005-2010, nhưng n đã bị trì hoãn và cuối cùng bị hủy bỏ. N n PHP 6 s h ng bao giờ được phát hành. Vì vậy bạn s h ng nhìn thấy được phi n bản PHP 6 được phát hành tr n Website của h . 1.3.2.6. PHP 7 PHP 7 hiện đang là phi n bản cao nhất của PHP t nh đến thời điểm hiện tại ( 2018 ). PHP 7 là m t phi n bản mới của PHP được phát hành vào ngày 09 tháng 06 năm 2015 và đến thời điểm mình viết bài này thì n hiện đang ở phi n bản 7.1.21 ( phát hành ngày 13 tháng 9 năm 2018 ). PHP 7 là phi n bản mà được rất nhiều các lập trình vi n mong đợi, vì n c rất nhiều cải tiến cả về hiệu năng lẫn các thư viện. Và ngay cả ch nh website này cũng được lập trình bởi PHP 7. 1.4. HTML 1.4.1. HTML là gì? . HTML là chữ viết tắt của cụm từ HyperText Markup Language, c ngh a là “ ữ h dấ s ă bả ”. Cha đẻ của HTML là Tim Berners- ee, cũng là người khai sinh ra World Wide Web và là chủ tịch của World Wide Web Consortium (W3C – tổ chức thiết lập ra các chuẩn tr n m i trường Internet). . HT dùng để mô tả cấu trúc, các thu c t nh li n quan đến cách hiển thị của m t đoạn văn bản nào đấy ra trình duyệt. . Các phần tử HTML là các khối xây dựng nên các trang web. . Các phần tử HT được biểu di n bằng thẻ. . Trình duyệt không hiển thị các thẻ HT , nhưng sử dụng chúng để hiển thị n i dung của trang. 1.4.2. B c bản c a HTML trên một trang web Như đã n i, HT dùng để m tả cấu trúc của m t trang web. t trang web bao g m rất nhiều thẻ HT và mỗi thẻ c m t nhiệm vụ nhất định. Th ng thường, bố cục m t trang web được chia làm 2 phần ch nh nằm trong cặp thẻ : . Phần Head . Phần Body SVTH: Trần Khánh Lộc – Lớp CCCT16B 10
  18. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 1.2. B cục cơ bản của HTML trên một trang web V dụ đơn giản HT : Page Title My First Heading My first paragraph. Trong đ : . : Dùng để xác định tài liệu này thu c dạng html cho trình duyệt biết. SVTH: Trần Khánh Lộc – Lớp CCCT16B 11
  19. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale . : Là phần tử gốc, nằm ngoài cùng mỗi trang web, có nhiệm vụ bao toàn b n i dung của trang web . : Phần mở đầu. Có nhiệm vụ khai báo tất cả thông tin của trang web . : Thẻ ti u đề: Dùng để hai báo ti u đề cho mỗi trang web. Tiêu đề này s hiển thị ở thanh tab trên cùng của trình duyệt. . : Phần n i dung. Chứa tất cả n i dung s hiển thị ra trên trình duyệt . và : Các thẻ định dạng văn bản. 1.4.3. Thẻ HTML . Là các phần tử được bao quanh bởi các cặp ngoặc nh n: Nội dung ở ây . Các thẻ trong HT thường theo cặp. Ví dụ như . . Đầu tiên là thẻ bắt đầu (opening tag). Thẻ tiếp theo là thẻ kết thúc (closing tag). . Thẻ kết thúc được viết giống như thẻ bắt đầu, ch khác thêm dấu gạch chéo ( / ) được chèn trước tên thẻ 1.4.4. Trình duy t Web . Có nhiều trình duyệt web hiện đang được sử dụng phổ biến tr n như Chrome, IE, Firefox, Safari, ục đ ch của chúng là đ c các tài liệu HTML và hiển thị n i dung của chúng. . Trình duyệt không hiển thị các thẻ HT nhưng sử dụng n để xác định cách hiển thị n i dung tài liệu. Hình 1.3. Hiển thị ra ngoài trình duyệt SVTH: Trần Khánh Lộc – Lớp CCCT16B 12
  20. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 1.4.5. Thẻ dùng để xác định định dạng của tài liệu. Và giúp các trình duyệt hiển thị các trang web m t cách chính xác. . Thẻ hay 1.4.6. Công c code HTML Hiện nay, c rất nhiều c ng cụ dùng để code HT như Notepad, Notepad ++, SublimeText, Net eans, Tuy nhi n trong loạt hướng dẫn này thì mình dùng Sublime Text 3 để code. 1.5. CSS 1.5.1. CSS là gì? CSS là chữ viết tắt của Cascading Style Sheets, nó là m t ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (ví dụ như HT ). ạn có thể hiểu đơn giản rằng, nếu HT đ ng vai trò định dạng các phần tử tr n website như việc tạo ra các đoạn văn bản, các ti u đề, bảng, thì CSS s giúp chúng ta có thể thêm m t chút “phong cách” vào các phần tử HT đ như đổi màu sắc trang, đổi màu chữ, thay đổi cấu trúc, rất nhiều. 1.5.2. Cấu trúc Cấu trúc của CSS vùng ch n { thu c t nh : giá trị; thu c t nh: giá trị; } Ngh a là n s được hai báo bằng vùng ch n, sau đ các thu c t nh và giá trị s nằm b n trong cặp dấu ngoặc nh n {}. ỗi thu c t nh s lu n c m t giá trị ri ng, giá trị c thể là dạng số, hoặc các t n giá trị trong danh sách c sẵn của CSS. Phần giá trị và thu c t nh phải được cách nhau bằng dấu hai chấm, và mỗi m t dòng hai báo SVTH: Trần Khánh Lộc – Lớp CCCT16B 13
  21. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale thu c t nh s lu n c dấu chấm phẩy ở cuối. t vùng ch n c thể sử dụng h ng giới hạn thu c t nh. 1.6. PHƯƠNG THỨC THANH TOÁN PAYPAL Hiện nay có nhiều công cụ thanh toán trực tuyến mang đến sự thuận tiện cho khách hàng khi thanh toán online. Ở Việt Nam hầu hết các website thương mại điện tử chưa chấp nhận thanh toán online m t phần vì sơ sở hạ tầng cũng như th i quen của người tiêu dùng. Hôm nay mình giới thiệu với các bạn m t phương thức thanh toán online phổ biến trên thế giới đ là thanh toán bằng Papal. Những l i ích khi thanh toán bằng Paypal Đăng tài hỏan Paypal rất đơn giản. Sử dụng được các thể Visa, Visa Debit và nhiều loại thẻ hác ( để thanh toán được hi đăng thẻ bạn ch n chức năng thanh toán quốc tế và thanh toán được bằng USD nữa nhé). ạn cũng c thể li n hệ với ng n hàng để biết th m chi tiết. ạn được hòan tiền nếu xảy ra tranh chấp, thời gian hòan lại trong 45 ngày (v dụ: người bán h ng giao hàng, h ng đúng cam ết. SVTH: Trần Khánh Lộc – Lớp CCCT16B 14
  22. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale CHƯƠNG : PH N T CH THIẾT Ế WEBSITE LÀ GÌ? 2.1. T NG UAN V Đ T I 2.1.1. Ph b ể bà Hệ thống bán hàng qua mạng là m t hệ thống cung cấp cho người sử dụng, người quản l những chức năng cần thiết để mua bán, quản l những hoạt đ ng của cửa hàng. Đối với hách hàng, hệ thống cho phép tìm iếm, xem th ng tin sản phẩm tr n website và mua các sản phẩm. Sau hi ch n hàng xong thì chuyển qua thanh toán, đ ng thời ch n địa điểm, người nhận và thời gian giao bánh. Thực hiện xong hách hàng tiến hành xác nhận thanh toán và đợi nhận hàng từ b phận chuyển hàng và ết thúc giao dịch. 2.1.2. Y ầ h h 2.1.2.1. c c c ă - Đăng thành vi n - Đăng nhập hệ thống - Xem th ng tin giỏ hàng - Xem th ng tin sản phẩm - Xem th ng tin cá nh n - Sửa th ng tin cá nh n - Tìm iếm sản phẩm - Cập nhật sản phẩm - Quản l đơn hàng - Th m vào giỏ hàng - X a giỏ hàng - Thanh toán - Quản trị hệ thống - Cập nhật người dùng - iểm , báo cáo 2.1.2.2. c c c ă - Giao diện d sử dụng , th n thiện - Chương trình chạy ổn định ch nh xác và an toàn - Tốn t tài nguy n hệ thống - Hạn chế đến mức thấp nhất các sai s t c thể xảy ra trong quá trình sử dụng và c hả năng n ng cấp và t ch hợp các t nh năng mới SVTH: Trần Khánh Lộc – Lớp CCCT16B 15
  23. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale - CSD ết nối ch nh xác và toàn v n dữ liệu 2.2. H NH H A Y U CẦU 2.2.1. X ị h hâ (1). hách hàng: à những người trực tiếp sử dụng phần mềm để đặt mua các loại bánh của cửa hàng. (2). Nh n vi n: à người trực tiếp tiếp nhận th ng tin, đơn đặt hàng của hách hàng. (3). Người quản trị: à người điều hành hệ thống, thao tác với cơ sở dữ liệu của hệ thống đ ng thời là người bảo trì hệ thống. 2.2.2. X ị h ườ h sử d 1. Đăng thành vi n 2. Đăng nhập hệ thống 3. Xem th ng tin giỏ hàng 4. Xem th ng tin sản phẩm 5. Xem th ng tin cá nh n 6. Sửa th ng tin cá nh n 7. Tìm iếm sản phẩm 8. Cập nhật sản phẩm 9. Quản l đơn hàng 10. Th m vào giỏ hàng 11. X a giỏ hàng 12. Thanh toán 13. Quản trị hệ thống 14. Cập nhật người dùng 15. iểm , báo cáo 2.2.3. Đ ả ườ h sử d 2.2.3.1. ă t a. Mô tả tóm tắt Tác nhân: Khách hàng Mô tả: Khách hàng sử dụng hệ thống đăng ký tài khoản để đăng nhập b. Các lu ng sự kiện  Các lu ng sự kiện chính: 1. Hệ thống hiển thị giao diện đăng cho người dùng. 2. Người dùng nhập tên, tên đăng nhập và mật khẩu của mình. SVTH: Trần Khánh Lộc – Lớp CCCT16B 16
  24. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 3. Hệ thống kiểm tra tài khoản - lu ng A1. 4. Hệ thống ghi lại quá trình đăng .  Các lu ng sự kiện con:  Lu ng A1: Kiểm tra tài khoản 1. Kiểm tra thông tin tài khoản 2. Th ng báo người dùng đăng thành công.  Các lu ng sự kiện ngoại lệ: Lu ng A1: Sai thông tin tài khoản 1. Hệ thống thông báo lỗi và hiển thị lại để người dùng nhập lại tài khoản. 2. Quay lại bước 1 trong lu ng sự kiện con A1. c. Tiền điều kiện: Không d. Hậu điều kiện: Khách hàng có tài khoản để đăng nhập hệ thống 2.2.3.2. ă t a. tả t m tắt Tác nhân: Người quản trị, Nh n vi n, hách hàng Mô tả: Nh n vi n và người quản trị là những người trực tiếp sử dụng hệ thống hằng ngày cần đăng nhập vào hệ thống. Căn cứ vào chức năng của từng người mà phân quyền truy cập hệ thống theo các nh m người sử dụng khác nhau. Chẳng hạn, nh n vi n được phép truy cập vào phần hệ thống liên quan đến các trường hợp thanh toán, hoàn tiền mà h ng được phép truy cập vào các chức năng của người quản trị như sửa user, đ ng hệ thống. hách hàng đăng nhập vào hệ thống để thực hiện việc mua hàng. b. Các lu ng sự iện  Các lu ng sự kiện chính: 1. Hệ thống hiển thị giao diện đăng nhập cho người dùng. 2. Người dùng nhập t n đăng nhập và mật khẩu của mình. 3. Hệ thống kiểm tra tài khoản - lu ng A1. 4. Hệ thống ghi lại quá trình đăng nhập.  Các lu ng sự kiện con:  Lu ng A1: Kiểm tra tài khoản 1. Kiểm tra tài khoản/ mật khẩu 2. Th ng báo người dùng đăng nhập thành công.  Các lu ng sự kiện ngoại lệ: Lu ng A1: Sai thông tin tài khoản SVTH: Trần Khánh Lộc – Lớp CCCT16B 17
  25. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 1. Hệ thống thông báo lỗi và hiển thị lại để người dùng nhập lại tài khoản. 2. Quay lại bước 1 trong lu ng sự kiện con A1. c. Tiền điều iện: Khách hàng phải có tài khoản d. Hậu điều iện: hách hàng đăng nhập được vào hệ thống 2.2.3.3. t t a. Mô tả tóm tắt Tác nhân: Khách hàng Mô tả: Khách hàng sử dụng hệ thống để xem thông tin giỏ hàng b. Các lu ng sự kiện  Các lu ng sự kiện chính: 1. Hệ thống hiển thị giao diện thông tin giỏ hàng cho người dùng. 2. Người dùng có thể xem thông tin về giỏ hàng. 3. Khách hàng có thể sửa thông tin giỏ hàng của mình 4. Hệ thống kiểm tra lại giỏ hàng - lu ng A1. 5. Nếu có ch nh sửa, hệ thống ghi lại quá trình sửa giỏ hàng.  Các lu ng sự kiện con:  Lu ng A1: Kiểm tra giỏ hàng 1. Kiểm tra thông tin giỏ hàng 2. Sửa thông tin giỏ hàng 3. Th ng báo người dùng ch nh sửa giỏ hàng thành công. c. Tiền điều kiện: Khách hàng cần đăng nhập d. Hậu điều kiện: Khách hàng có thể ch nh sửa được giỏ hàng 2.2.3.4. Xem thông tin sản phẩm a. Mô tả tóm tắt Tác nhân: Khách hàng Mô tả: Khách hàng sử dụng hệ thống để xem thông tin sản phẩm b. Các lu ng sự kiện  Các lu ng sự kiện chính: 1. Hệ thống hiển thị giao diện thông tin sản phẩm cho người dùng. 2. Người dùng có thể xem thông tin về giỏ hàng. 3. Khách hàng có thể mua sản phẩm c. Tiền điều kiện: Không d. Hậu điều kiện: Khách hàng có thể mua được sản phẩm 2.2.3.5. Xem thông tin cá nhân a. Mô tả tóm tắt SVTH: Trần Khánh Lộc – Lớp CCCT16B 18
  26. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Tác nhân: Khách hàng, người quản trị, nhân viên Mô tả: Người dùng sử dụng hệ thống để xem thông tin cá nhân b. Các lu ng sự kiện  Các lu ng sự kiện chính: 1. Hệ thống hiển thị giao diện thông tin cá nhân cho người dùng. 2. Người dùng có thể xem thông tin cá nhân của mình. c. Tiền điều kiện: Người dùng cần đăng nhập d. Hậu điều kiện: Người dùng có thể xem được thông tin cá nhân 2.2.3.6. Sửa thông tin cá nhân a. Mô tả tóm tắt Tác nhân: Khách hàng, người quản trị, nhân viên Mô tả: Người dùng sử dụng hệ thống để sửa thông tin cá nhân b. Các lu ng sự kiện  Các lu ng sự kiện chính: 1. Hệ thống hiển thị giao diện thông tin cá nhân cho người dùng. 2. Người dùng có thể sửa thông tin cá nhân của mình 3. Hệ thống kiểm tra lại thông tin cá nhân - lu ng A1. 4. Nếu có ch nh sửa, hệ thống ghi lại quá trình sửa thông tin cá nhân. c. Tiền điều kiện: Người dùng cần đăng nhập d. Hậu điều kiện: Người dùng có thể ch nh sửa được thông tin cá nhân 2.2.3.7. Tìm kiếm sản phẩm a. Mô tả tóm tắt Tác nhân: Khách hàng, người quản trị, nhân viên Mô tả: Người dùng sử dụng hệ thống để tìm kiếm sản phẩm b. Các lu ng sự kiện  Các lu ng sự kiện chính: 1. Hệ thống hiển thị giao diện tìm kiếm cho người dùng 2. Người dùng có thể tìm kiếm sản phẩm 3. Hệ thống kiểm tra lại eyword người dung nhập vào - lu ng A1. 4. Hệ thống ghi lại quá trình và hiển thị kết quả cho người dùng. c. Tiền điều kiện: Khách hàng không cần đăng nhập, người quản trị và nhân vi n thì đăng nhập d. Hậu điều kiện: Người dùng có thể tìm kiếm được sản phẩm cần tìm 2.2.3.8. t ả ẩ a. Mô tả tóm tắt Tác nhân: Người quản trị, nhân viên SVTH: Trần Khánh Lộc – Lớp CCCT16B 19
  27. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Mô tả: Người dùng sử dụng hệ thống để cập nhật sản phẩm b. Các lu ng sự kiện  Các lu ng sự kiện chính: 5. Hệ thống hiển thị giao diện cập nhật sản phẩm cho người dùng. 6. Người dùng có thể thêm, sửa, xóa sản phẩm. 7. Hệ thống kiểm tra lại sản phẩm - lu ng A1. 8. Hệ thống ghi lại quá trình cập nhật sản phẩm. c. Tiền điều kiện: Người dùng cần đăng nhập d. Hậu điều kiện: Người dùng có thể cập nhật sản phẩm 2.2.3.9. Quả lí ơ a. Mô tả tóm tắt Tác nhân: Người quản trị, nhân viên Mô tả: Người dùng sử dụng hệ thống để xem, x a đơn hàng b. Các lu ng sự kiện  Các lu ng sự kiện chính: 1. Hệ thống hiển thị giao diện đơn hàng cho người dùng. 2. Người dùng có thể xem, xóa đơn hàng. 3. Hệ thống ghi lại quá trình x a đơn hàng. c. Tiền điều kiện: Người dùng cần đăng nhập d. Hậu điều kiện: Người dùng có thể xem, x a đơn hàng 2.2.3.10. Thêm vào gi hàng a. Mô tả tóm tắt Tác nhân: Khách hàng Mô tả: Khách hàng sử dụng hệ thống để thêm sản phẩm vào giỏ hàng b. Các lu ng sự kiện  Các lu ng sự kiện chính: 1. Hệ thống hiển thị giao diện sản phẩm cho người dùng. 2. Người dùng có thể thêm sản phẩm vào giỏ hàng. c. Tiền điều kiện: Không d. Hậu điều kiện: Người dùng có thể cập nhật sản phẩm 2.2.3.11. Xóa gi hàng a. Mô tả tóm tắt Tác nhân: Khách hàng Mô tả: Khách hàng sử dụng hệ thống để xóa giỏ hàng b. Các lu ng sự kiện  Các lu ng sự kiện chính: SVTH: Trần Khánh Lộc – Lớp CCCT16B 20
  28. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 1. Hệ thống hiển thị giao diện giỏ hàng cho người dùng. 2. Khách hàng có thể xóa giỏ hàng. 3. Hệ thống kiểm tra lại giỏ hàng - lu ng A1. 4. Hệ thống ghi lại quá trình xóa giỏ hàng. c. Tiền điều kiện: Người dùng cần đăng nhập và có sản phẩm trong giỏ hàng d. Hậu điều kiện: Người dùng có thể xóa giỏ hàng 2.2.3.12. t n a. Mô tả tóm tắt Tác nhân: Khách hàng Mô tả: Người dùng sử dụng hệ thống để thanh toán b. Các lu ng sự kiện  Các lu ng sự kiện chính: 1. Hệ thống hiển thị giao diện thanh toán cho khách hàng. 2. Khách hàng có thể thanh toán. 3. Khách hàng nhập th ng tin để thực hiện thanh tóan 4. Hệ thống kiểm tra lại thông tin thanh toán - lu ng A1. 5. Hệ thống ghi lại quá trình thanh toán của khách hàng. c. Tiền điều kiện: Người dùng cần đăng nhập và mua giỏ hàng d. Hậu điều kiện: Người dùng có thể thanh toán 2.2.3.13. Quản trị h th ng a. Mô tả tóm tắt Tác nhân: Người quản trị Mô tả: Người dùng sử dụng hệ thống để quản trị hệ thống b. Các lu ng sự kiện  Các lu ng sự kiện chính:j 1. Hệ thống hiển thị giao diện cập quản trị hệ thống cho người quản trị. 2. Người dùng có thể quản lý hệ thống. c. Tiền điều kiện: Người quản trị cần đăng nhập d. Hậu điều kiện: Người quản tri có thể quản lý hệ thống 2.2.3.14. C p nh t ười dùng a. Mô tả tóm tắt Tác nhân: Quản trị viên, nhân viên Mô tả: Người dùng sử dụng hệ thống để cập nhật th ng tin người dùng. b. Các lu ng sự kiện  Các lu ng sự kiện chính: 1. Hệ thống hiển thị giao diện cập nhật người dùng cho người dùng. SVTH: Trần Khánh Lộc – Lớp CCCT16B 21
  29. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 2. Người dùng có thể thêm, sửa, xóa người dùng. 3. Hệ thống kiểm tra lại th ng tin người dùng - lu ng A1. 4. Hệ thống ghi lại quá trình cập nhật người dùng. c. Tiền điều kiện: Người dùng cần đăng nhập d. Hậu điều kiện: Người dùng có thể cập nhật th ng tin người dùng 2.2.3.15. Kiểm kê, báo cáo a. Mô tả tóm tắt Tác nhân: Quản trị viên, nhân viên Mô tả: Người dùng sử dụng hệ thống để kiểm kê báo cáo b. Các lu ng sự kiện  Các lu ng sự kiện chính: 1. Hệ thống hiển thị giao diện kiểm kê báo cho người dùng. 2. Người dùng có thể kiểm kê, báo cáo thông tin doanh thu của cửa hàng. 3. Hệ thống ghi lại quá trình kiểm kê báo cáo. c. Tiền điều kiện: Người dùng cần đăng nhập d. Hậu điều kiện: Người dùng có thể kiểm kê, báo cáo. 2.2.4. B ể ườ h sử d > Them Vao Gio Hang Thanh Toan > Khach Hang San Pham > Dang Ky Xem Thong Tin > > Gio Hang Nhan Vien Ca Nhan > Xoa Gio Hang Tim Kiem Kiem Ke Bao Cao > > Quan Tri He Thong > Sua TT Ca Nhan > Cap Nhat San Pham Dang Nhap He Thong > Cap Nhat Nguoi Dung Nguoi Quan Tri Xoa Don > Quan Li Don Dat Hang Hình 2.1. Biểu đồ trường h p sử dụng của hệ th ng SVTH: Trần Khánh Lộc – Lớp CCCT16B 22
  30. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Cap Nhat San Pham > > > Them san pham Sua TT san pham Xoa san pham Hình 2.2. Biểu đồ trường h p cập nhật sản phẩm Thanh Toan The ATM Truc Tiep Paypal Hình 2.3. Biểu đồ trường h p thanh toán SVTH: Trần Khánh Lộc – Lớp CCCT16B 23
  31. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 2.2.5. B ể h ộ Hình 2.4. Biểu đồ hoạt động đăng nhập hệ th ng Hình 2.5. Biểu đồ hoạt động đăng ký thành vi n SVTH: Trần Khánh Lộc – Lớp CCCT16B 24
  32. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 2.6. Biểu đồ hoạt động thanh toán Hình 2.7. Biểu đồ hoạt động xem thông tin giỏ hàng SVTH: Trần Khánh Lộc – Lớp CCCT16B 25
  33. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 2.3. H NH H I NIỆ 2.3.1. C ớ b h h FrmThanhToan FrmDangKy FrmDangNhap FrmThongTinSanPham FrmTimKiem FrmThongTinCaNhan FrmThongTinGioHang FrmNganHang FrmCapNhatSanPham FrmKiemKeBaoCao FrmCapNhatNguoiDung Hình 2.8. Lớp biên của hệ th ng 2.3.2. C ớ h ể h h CtlThongTinSanPham CtlThanhToan CtlDangKy CtlDangNhap CtlTimKiem CtlThongTinCaNhan CtlThongTinGioHang CtlNganHang CtlCapNhatSanPham CtlKiemKeBaoCao CtlCapNhatNguoiDung Hình 2.9. Lớp điều khiển của hệ th ng SVTH: Trần Khánh Lộc – Lớp CCCT16B 26
  34. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 2.3.3. B ể ớ hự hể hâ h Xác định các lớp đối tượng ản phẩm ớp này chứa các th ng tin về sản phẩm g m c mã sản phẩm, t n sản phẩm, ghi chú, giá sản phẩm, giảm giá, hình ảnh, đơn vị t nh. oại sản phẩm ớp này chứa các loại sản phẩm g m mã loại sản phẩm, t n loại sản phẩm. a đơn ớp này chứa các th ng tin của h a đơn g m mã h a đơn, ngày đặt, tổng tiền, hình thức thanh toán, ghi chú. Chi tiết h a đơn ớp này chứa các th ng tin chi tiết của h a đơn g m mã chi tiết h a đơn, số lượng, giá sản phẩm. Kh ch hàng ớp này chứa các th ng tin của hách hàng g m mã hách hàng, t n hách hàng, giới t nh, email, địa ch , số điện thoại, ghi chú. gười d ng ớp này chứa các th ng tin của người dùng g m mã người dùng, t n đầy đủ, email, mật hẩu, số điện thoại, địa ch , to en. Hình 2.10. Biểu đồ lớp SVTH: Trần Khánh Lộc – Lớp CCCT16B 27
  35. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 2.4. H NH TƯƠNG T C 2.4.1. B ể ầ ự : Khach Hang : Nhan Vien : Nguoi Quan Tri : FrmDangNhap : : NGUOIDUNG Nhap thong tin() CtlDangNhap Nhap thong tin() Nhap thong tin() Xu li dang nhap() Kiem tra() Kiem tra ket qua() [TT Hop Le] Cho phep dang nhap() [TT Khong Hop Le] Thong bao loi() Tra ve ket qua() Hình 2.11. Biểu đồ tuần tự đăng nhập : Khach Hang : FrmThongTinSanPham : FrmThanhToan : CtlNganHang : DONHANG : HOA DON Yeu cau mua hang Hien thi danh muc san ph Chon san pham can mua() Luu thong tin() Cap nhat gio hang() Phan hoi thong tin() Yeu cau thanh toan() Yeu cau dang nhap() Dang nhap thanh co Hien thi form thanh toan() Xac nhan thanh toan() Luu thong tin() Cap nhat don hang() Phan hoi thong tin() Hình 2.12. Biểu đồ tuần tự thanh toán SVTH: Trần Khánh Lộc – Lớp CCCT16B 28
  36. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 2.4.2. B ể ộ 9: Dang nhap thanh cong() 7: Yeu cau thanh toan() 11: Xac nhan thanh toan() 8: Yeu cau dang nhap() 12: Luu thong tin() : Khach Hang : FrmThanhToan : CtlNganHang 10: Hien thi form thanh toan() 1: Yeu cau mua hang 3: Chon san pham can mua() 6: Phan hoi thong tin() 14: Phan hoi thong tin() : HOA DON 2: Hien thi danh muc san pham() 5: Cap nhat gio hang() 13: Cap nhat don hang() 4: Luu thong tin() : FrmThongTinSanPham : DONHANG Hình 2.13. Biểu đồ cộng tác thanh toán : Nhan Vien : Khach Hang 1: Nhap thong tin() : Nguoi Quan Tri 7: [TT Hop Le] Cho phep dang nhap() 2: Nhap thong tin() 3: Nhap thong tin() 8: [TT Khong Hop Le] Thong bao loi() 9: Tra ve ket qua() 4: Xu li dang nhap() : FrmDangNhap : CtlDangNhap 5: Kiem tra() 6: Kiem tra ket qua() : NGUOIDUNG Hình 2.14. Biểu đồ cộng t c đăng nhập hệ th ng SVTH: Trần Khánh Lộc – Lớp CCCT16B 29
  37. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale 2.4.3. B ể h NSD Dang nhap he thong Cho dang Nhap TT dang nhap Hoat Dong nhap Hình 2.15. Biểu đồ trạng th i đăng nhập He thong thuc hien thanh toan Cho thanh Thuc hien thanh toan Da thanh toan toan Hình 2.16. Biểu đồ trạng thái thanh toán Tim kiem cac thong tin Nhap TT Ket thuc nhap Xu ly TT tim kiem tim kiem Xu ly thong bao ket qua Ket thuc tim kiem Thong bao ket qua tim kiem Hình 2.17. Biểu đồ trạng thái tìm kiếm SVTH: Trần Khánh Lộc – Lớp CCCT16B 30
  38. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale CHƯƠNG : GIỚI THIỆU V WEBSITE 3.1. SỬ DỤNG LARAVEL ĐỂ XẤY DỰNG WEBSITE 3.1.1. Cà t công c 3.1.1.1. ặt Xampp ước 1. Đi đến trình duyệt mở đường dẫn: ước 2. Cu n xuống và ch n version như b n dưới và bắt đầu Download ước 3. Sau khi tải về xong s c file như b n dưới SVTH: Trần Khánh Lộc – Lớp CCCT16B 31
  39. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale ước 4. Mở file vừa tải về, s xuất hiện tool box như b n dưới ước 5. Bấm Next 3 lần, bỏ ch n “ earn more about itnami for Xampp”, sau đ bấm Next 2 lần r i ch n Finish ước 6. Sau khi ch n Finish, s mở Xampp language SVTH: Trần Khánh Lộc – Lớp CCCT16B 32
  40. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale ước 7. Sau khi ch n ngôn ngữ xong, nhấn Save. Sau khi nhấn Save thì s lưu ngôn ngữ mặc định của bạn và hiển thị Xampp dashboard ước 8. Ch n nút Start bên phải của Apache. Điều này s bật Apache, tại thời điểm này bạn đã sẵn sang để cài đặt Composer 3.1.1.2. ặt Composer ước 1. Đi đến đường dẫn trong trình duyệt : ước 2. Ch n Composer-Setup.exe để tải file setup Composer hoặc Ctrl + C đoạn lệnh b n dưới: php -r "copy(' 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a8 58088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" SVTH: Trần Khánh Lộc – Lớp CCCT16B 33
  41. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale ước 3. Mở Command Prompt bằng tìm kiếm hoặc nhấn tổ hợp phím Window + R nhập vào “cmd” sau đ Ctrl + V vào Command Prompt và nó s bắt đầu chạy tự đ ng ước 4. Chạy đoạn lệnh b n dưới để hoàn thành cài đặt Composer 3.1.1.3. ặt Laravel ước 1. Mở Command Prompt SVTH: Trần Khánh Lộc – Lớp CCCT16B 34
  42. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale ước 2. Chạy lệnh b n dưới để cài đặt Laravel ước 3. Sau khi nhấn Enter thì đoạn mã lệnh chạy và kết thúc cài đặt Laravel 3.1.2. Cấu trúc Cấu trúc của m t website xây dựng bằng Laravel framework dự theo mô hình MVC (Model-View-Controller) . - Cấu trúc MVC trong Laravel framework Controller xử l các request của người dùng và truy xuất dữ liệu, bằng cách tận dụng các odel. Model tương tác với database và truy xuất các th ng tin từ đối tượng của bạn. View để hiển thị giao diện các trang. SVTH: Trần Khánh Lộc – Lớp CCCT16B 35
  43. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale - Nơi chứa các model trong Laravel - Nơi chứa các controller trong Laravel SVTH: Trần Khánh Lộc – Lớp CCCT16B 36
  44. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale - Nơi chứa các view trong Laravel - Phần khai báo database trong Laravel DB_DATABASE là phần khai báo tên database của bạn DB_USERNAME là phần hai báo t n đăng nhập database của bạn (mặc định t n đăng nhập là root) DB_PASSWORD là phần khai báo mật khẩu database của bạn (mật khẩu mặc định là rỗng) 3.1.3. Các thư n 3.1.3.1. Requests – Easy HTTP Requests Requests là m t thư viện giúp bạn có thể d dàng để đưa ra các HTTP requests. Thư viện này bao g m m t số hàm như sau: SVTH: Trần Khánh Lộc – Lớp CCCT16B 37
  45. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale $headers = array('Accept' => 'application/json'); $options = array('auth' => array('user', 'pass')); $request = Requests::get(' $headers, $options); var_dump($request->status_code); // int(200) var_dump($request->headers['content-type']); // string(31) "application/json; charset=utf-8" var_dump($request->body); // string(26891) "[ ]" Với thư viện này, bạn có thể gửi HEAD, GET, POST, PUT, DELETE và các yêu cầu HTTP, thêm các tập tin và các thông số với mảng, và truy cập tất cả các dữ liệu được đáp ứng. 3.1.3.2. Carbon – DateTime Library Carbon là m t API mở r ng đơn giản cho ngày và giờ. N giúp tăng cường các m t số phương pháp hữu ch để làm việc với ngày và thời gian. Ví dụ: printf("Right now is %s", Carbon::now()->toDateTimeString()); printf("Right now in Vancouver is %s", Carbon::now('America/Vancouver')); $tomorrow = Carbon::now()->addDay(); $lastWeek = Carbon::now()->subWeek(); $nextSummerOlympics = Carbon::createFromDate(2012)->addYears(4); $officialDate = Carbon::now()->toRFC2822String(); $howOldAmI = Carbon::createFromDate(1975, 5, 21)->age; $noonTodayLondonTime = Carbon::createFromTime(12, 0, 0, 'Europe/London'); $endOfWorld = Carbon::createFromDate(2012, 12, 21, 'GMT'); // comparisons are always done in UTC if (Carbon::now()->gte($endOfWorld)) { die(); } SVTH: Trần Khánh Lộc – Lớp CCCT16B 38
  46. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale if (Carbon::now()->isWeekend()) { echo 'Party!'; } echo Carbon::now()->subMinutes(2)->diffForHumans(); 3.1.3.3. Faker – Fake Data Generator Bạn có thể tạo dữ liệu trực tiếp từ nhiều cách hác nhau. Nhưng với thư viện Faker bạn có thể tạo ra m t b dữ liệu giả nhưng h ng hác gì dữ liệu thật. Nó tiện dụng khi bạn cần có m t cơ sở dữ liệu test hoặc tạo ra các dữ liệu mẫu cho ứng dụng web của bạn. N cũng rất d dàng để sử dụng: // require the Faker autoloader require_once '/path/to/Faker/src/autoload.php'; // use the factory to create a Faker\Generator instance $faker = Faker\Factory::create(); // generate data by accessing properties echo $faker->name; // 'Lucy Cechtelar'; echo $faker->address; // "426 Jordy Lodge // Cartwrightshire, SC 88120-6700" echo $faker->text; // Sint velit eveniet. Mi n là bạn tiếp tục truy cập vào các thu c tính của đối tượng, nó s tiếp tục quay trở lại dữ liệu ngẫu nhiên tạo ra 3.1.3.4. Assectic – Asset Management Assetic dùng để quản lý asset cho PHP framework. Nó kết hợp và làm g n CSS/JS của bạn. N được sử dụng như sau: use Assetic\Asset\AssetCollection; use Assetic\Asset\FileAsset; use Assetic\Asset\GlobAsset; $js = new AssetCollection(array( SVTH: Trần Khánh Lộc – Lớp CCCT16B 39
  47. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale new GlobAsset('/path/to/js/*'), new FileAsset('/path/to/another.js'), )); // the code is merged when the asset is dumped echo $js->dump(); Kết hợp tài nguyên theo cách này là m t tưởng tốt, vì nó có thể tăng tốc đ trang web của bạn. Không ch là tổng ch thước giảm mà cũng c rất nhiều các yêu cầu HTTP không cần thiết được loại bỏ (hai trong những yếu tố này quyết định đến tốc đ tải trang). 3.1.3.5. Image Workshop – Image Manipulation with Layers ImageWorkshop là m t thư viện mã ngu n mở cho phép bạn thao tác hình ảnh với các lớp. Với nó, bạn có thể thay đổi ch thước, cắt xén, làm cho hình thu nhỏ. Đ y là m t ví dụ: // We initialize the norway layer from the picture norway.jpg $norwayLayer = ImageWorkshop::initFromPath('/path/to/images/norway.jpg'); // We initialize the watermark layer from the picture watermark.png $watermarkLayer = ImageWorkshop::initFromPath('/path/to/images/watermark.png'); $image = $norwayLayer->getResult(); // This is the generated image ! header('Content-type: image/jpeg'); imagejpeg($image, null, 95); // We choose to show a JPG with a quality of 95% exit; ImageWor shop được phát triển để thực hiện d dàng cho các thao tác với hình ảnh phổ biến nhất trong PHP. Nếu bạn cần m t cái gì đ mạnh m hơn nữa, bạn nên xem xét các Imagine library. 3.1.3.6. Snappy – Snapshot/ PDF Library Snappy là m t thư viện PHP5 cho phép bạn chụp những bức ảnh hoặc file PDF của URL hoặc các tài liệu HTML. Nó phụ thu c vào wkhtmltopdf, có sẵn trên Linux, Windows và OSX. Cách dùng n như sau: require_once '/path/to/snappy/src/autoload.php'; use Knp\Snappy\Pdf; SVTH: Trần Khánh Lộc – Lớp CCCT16B 40
  48. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale // Initialize the library with the // path to the wkhtmltopdf binary: $snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); // Display the resulting pdf in the browser // by setting the Content-type header to pdf: header('Content-Type: application/pdf'); header('Content-Disposition: attachment; filename="file.pdf"'); echo $snappy->getOutput(' 3.1.3.7. Idiorm – Lightweight ORM Library Idiorm là m t thư viện ORM nh và là m t truy vấn cho PHP5 được xây dựng dựa trên PDO. Với nó, bạn có thể quên cách viết tẻ nhạt của SQL: $user = ORM::for_table('user') ->where_equal('username', 'j4mie') ->find_one(); $user->first_name = 'Jamie'; $user->save(); $tweets = ORM::for_table('tweet') ->select('tweet.*') ->join('user', array( 'user.id', '=', 'tweet.user_id' )) ->where_equal('user.username', 'j4mie') ->find_many(); foreach ($tweets as $tweet) {echo $tweet->text;} 3.1.3.8. Underscore – PHP’ Ut l ty B lt Underscore là m t cổng của Underscore.js - vành đai tiện ích cho các ứng dụng SVTH: Trần Khánh Lộc – Lớp CCCT16B 41
  49. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale JavaScript. Phiên bản PHP đã h ng làm cho chúng ta thất v ng mà n đã hỗ trợ cho gần như tất cả các chức năng của bản gốc. M t số ví dụ: __::each(array(1, 2, 3), function($num) { echo $num . ','; }); // 1,2,3, $multiplier = 2; __::each(array(1, 2, 3), function($num, $index) use ($multiplier) { echo $index . '=' . ($num * $multiplier) . ','; }); // prints: 0=2,1=4,2=6, __::reduce(array(1, 2, 3), function($memo, $num) { return $memo + $num; }, 0); // 6 __::find(array(1, 2, 3, 4), function($num) { return $num % 2 === 0; }); // 2 __::filter(array(1, 2, 3, 4), function($num) { return $num % 2 === 0; }); // array(2, 4) Thư viện cũng đã hỗ trợ cho chuỗi, không những vậy nó còn làm cho nó thậm chí còn mạnh m hơn. 3.1.3.9. Dispatch – Micro Framework Dispatch là m t PHP framework nhỏ. Nó cung cấp cho bạn m t thiết lập MVC đầy đủ, nhưng c thể định ngh a quy định UR và phương pháp tốt hơn ứng dụng của bạn. Hoàn hảo cho các API, các trang web đơn giản hoặc nguyên mẫu: // include the library include 'dispatch.php'; // define your routes get('/greet', function () { // render a view render('greet-form'); }); // post handler post('/greet', function () { $name = from($_POST, 'name'); SVTH: Trần Khánh Lộc – Lớp CCCT16B 42
  50. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale // render a view while passing some locals render('greet-show', array('name' => $name)); }); // serve your site dispatch(); Nếu kết hợp với m t số frameworks ở đ y, bạn có thể có m t thiết lập thực sự mạnh m và vô cùng nh ! 3.1.3.10. Buzz – Simple HTTP Requests Library Buzz là m t thư viện PHP cho các HTTP requests. Đ y là m t ví dụ: $request = new Buzz\Message\Request('HEAD', '/', ' $response = new Buzz\Message\Response(); $client = new Buzz\Client\FileGetContents(); $client->send($request, $response); echo $request; echo $response; 3.1.3.11. Validation – Input Validation Engine Validation là công cụ xác nhận tuyệt vời nhất từng được tạo ra cho PHP. Nhưng nó có thể cung cấp được gì? use Respect\Validation\Validator as v; // Simple Validation $number = 123; v::numeric()->validate($number); //true // Chained Validation $usernameValidator = v::alnum()->noWhitespace()->length(1,15); $usernameValidator->validate('alganet'); //true // Validating Object Attributes $user = new stdClass; $user->name = 'Alexandre'; $user->birthdate = '1987-07-01'; SVTH: Trần Khánh Lộc – Lớp CCCT16B 43
  51. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale // Validate its attributes in a single chain: $userValidator = v::attribute('name', v::string()->length(1,32)) ->attribute('birthdate', v::date()->minimumAge(18)); Với thư viện này, bạn có thể xác nhận các dữ liệu người dùng gửi. Ngoài ra, nó hỗ trợ m t số lượng lớn các kiểm tra hiện có, ngoại lệ và thông báo lỗi tùy ch nh. 3.1.3.12. Filterus – Filtering Library Filterus là m t thư viện b l c, nhưng n cũng c thể xác định đàu vào của b l c để phù hợp với m t m hình định sẵn. Đ y là m t ví dụ: $f = Filter::factory('string,max:5'); $str = 'This is a test string'; $f->validate($str); // false $f->filter($str); // 'This ' Filterus có rất nhiều mô hình tích hợp, hỗ trợ chuỗi và thậm chí có thể xác nhận các phần tử mảng với quy tắc xác nhận cá nhân. 3.1.3.13. Upload – For Handing File Uploads Upload là m t thư viện đơn giản hóa tập tin tải lên và xác nhận. Khi m t mẫu được gửi, thư viện có thể kiểm tra các loại tập tin và ch thước. Nó giúp tiết kiệm rất nhiều dòng code. $storage = new \Upload\Storage\FileSystem('/path/to/directory'); $file = new \Upload\File('foo', $storage); // Validate file upload $file->addValidations(array( // Ensure file is of type "image/png" new \Upload\Validation\Mimetype('image/png'), // Ensure file is no larger than 5M (use "B", "K", M", or "G") new \Upload\Validation\Size('5M') )); // Try to upload file try { // Success! SVTH: Trần Khánh Lộc – Lớp CCCT16B 44
  52. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale $file->upload(); } catch (\Exception $e) { // Fail! $errors = $file->getErrors(); } 3.1.3.14. PHP Geo – Geo Location Library PHPGEO là m t thư viện đơn giản để tính toán khoảng cách giữa các t a đ địa lý với đ chính xác cao. Ví dụ: use Location\Coordinate; use Location\Distance\Vincenty; $coordinate1 = new Coordinate(19.820664, -155.468066); // Mauna Kea Summit $coordinate2 = new Coordinate(20.709722, -156.253333); // Haleakala Summit $calculator = new Vincenty(); $distance = $calculator->getDistance($coordinate1, $coordinate2); // returns 128130.850 (meters; ≈128 ilometers) Điều này s làm việc tốt trong các ứng dụng có sử dụng dữ liệu vị tr . Để c được t a đ , bạn có thể sử dụng HTML5 từ API, API của Yahoo 3.2. HƯỚNG DẪN CÁCH MUA HÀNG VÀ THANH TOÁN Vì website chưa up l n tr n server nên bạn ch được truy cập tại local. Để vào được website bạn phải đảm bảo bạn đã chạy Xampp (Apache, MySql), cài đặt composer và laravel framework. Sau đ thực hiện các bước sau: ước 1. Truy cập vào localhost/sale/public/ thì s xuất hiện trang chủ của website. SVTH: Trần Khánh Lộc – Lớp CCCT16B 45
  53. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 3.1. Giao diện trang chủ ước 2. Ch n m t sản phẩm và xem nó bằng cách ch n vào View Product hoặc ch n vào hình ảnh sản phẩm. ước 3. Sau khi ch n View Product, s xuất hiện trang chi tiết sản phẩm. Sau đ , ch n kích c (size), số lượng (quantity) và cuối cùng ch n Add To Cart để thêm sản phẩm vào giỏ hàng SVTH: Trần Khánh Lộc – Lớp CCCT16B 46
  54. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 4. Giao diện chi tiết sản phẩm ước 4. Nhấn Home để trở lại mua thêm sản phẩm nếu muốn mua thêm sản phẩm vào giỏ hàng. Nếu không ch n Cart tr n đầu trang. ước 5. Sau khi ch n Cart, s hiển thị trang giỏ hàng (nơi chứa các sản phẩm bạn đã mua), ở đ y bạn có thể ch nh sửa số lượng của mỗi sản phẩm hoặc xóa sản phẩm trong giỏ hàng của bạn. Nếu bạn có mã Coupon thì nhập vào sau đ ch n Apply, nếu không thì ch n Check Out sau khi kiểm tra số lượng và tổng tiền của sản phẩm. SVTH: Trần Khánh Lộc – Lớp CCCT16B 47
  55. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 3.3. Giao diện giỏ hàng ước 6. Sau khi ch n Check Out, nếu chưa đăng nhập thì s xuất hiện trang đăng nhập. Nếu bạn chưa c tài hoản thì tạo tài khoản mới, nếu đã c r i thì bạn ch cần đăng nhập. hi đăng nhập thành công thì s trở lại trang giỏ hàng để tiếp tục mua hàng, ngược lại thì bạn phải đăng nhập lại. Ch n lại Check Out, để chuyển qua trang thanh toán. SVTH: Trần Khánh Lộc – Lớp CCCT16B 48
  56. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 3.4. Giao diện đăng nhập, đăng ký ước 7. Sau khi chuyển qua trang thanh toán, bạn điền th ng tin đầy đủ vào Billing To và Shipping To, nếu người nhận giống người thanh toán thì ch n vào ô Shipping address same as Billing address. SVTH: Trần Khánh Lộc – Lớp CCCT16B 49
  57. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 3.5. Giao diện thanh toán ước 8. Sau khi kiểm tra xong toàn b thông tin thì ch n Check Out thì chuyển sang trang xem lại đơn hàng. Sau hi iểm tra thông tin thì ch n hình thức thanh toán. SVTH: Trần Khánh Lộc – Lớp CCCT16B 50
  58. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 3.6. Giao diện xem lại đơn hàng ước 9. Nếu ch n Cash On Delivery và ch n Order thì chuyển sang trang thanh toán khi giao hàng. Tại trang này s có thông tin về email và số điện thoại của người mua hàng. Qua th ng tin tr n mà người giao hàng có thể liên lạc được với người mua để giao hàng và thanh toán. SVTH: Trần Khánh Lộc – Lớp CCCT16B 51
  59. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 3.7. Giao diện thanh toán lúc giao hàng ước 9. Nếu ch n Paypal thì chuyển sang trang thanh toán trực tuyến. Tại trang này s có thông tin về tổng tiền phải trả. Sau khi kiểm tra tổng số tiền phải trả thì ch n Buy Now. SVTH: Trần Khánh Lộc – Lớp CCCT16B 52
  60. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale Hình 3.8. Giao diện thanh toán trực tuyến ước 10. Sau khi ch n Buy Now, thì chuyển qua trang đăng nhập của Paypal. Nếu bạn chưa c tài hoản Paypal thì phải tạo tài khoản mới để thanh toán, nếu bạn đã có tài khoản thì ch cần đăng nhập. SVTH: Trần Khánh Lộc – Lớp CCCT16B 53
  61. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale ước 10. hi đăng nhập thành công, thì bạn s chuyển đến trang ch n thẻ để thanh toán. Sau khi ch n thẻ thì ch n Continue. ước 11. Sau khi ch n Continue¸ thì hiện trang ch n địa ch và xác nhận lại thẻ thanh toán. Sau khi kiểm tra thông tin, ch n Pay Now SVTH: Trần Khánh Lộc – Lớp CCCT16B 54
  62. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale ước 12. Sau khi ch n Pay Now thì chuyển sang trang thanh toán thành công. Vậy là bạn đã c thể hoàn tất mua hàng trên website của chúng tôi. Vừa tiết kiệm thời gian, chi phí mà còn tiện lợi cho chính bạn. SVTH: Trần Khánh Lộc – Lớp CCCT16B 55
  63. Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale ẾT LUẬN Những k t quả t ư c: - Về công nghệ: Tìm hiểu và nắm bắt được các c ng nghệ thiết ế web, ng n ngữ lập trình php và aravel framewor . Sử dụng phương thức thanh toán trực tuyến Paypal Biết được cách tổ chức cơ sở dữ liệu và mô hình phần mềm theo hướng đối tượng Các dịch vụ trên Internet. - Về cài đặt chương trình: Giao diện d sử dụng , th n thiện Chương trình chạy ổn định ch nh xác và an toàn Tốn t tài nguy n hệ thống Hạn chế đến mức thấp nhất các sai s t c thể xảy ra trong quá trình sử dụng và c hả năng n ng cấp và t ch hợp các t nh năng mới CSD ết nối ch nh xác và toàn v n dữ liệu Các vấ còn t n t i: Đ án ch dừng ở phạm vi nghiệp vụ đã được giới hạn trước, cần tìm hiểu thêm các quy trình nghiệp vụ hác để hệ thống hoàn ch nh và đạt hiệu quả hơn. Hướng phát triển: Đ án cần phát triển thêm từ mô hình cũ, vì hiện nay n đã h ng còn phù hợp với xu hướng hiện tại. Nó cần được phát triển theo mô hình mới nhất hiện nay như VV thay vì VC như trong đ án. Cần phát triển thêm về chức năng thanh toán như thanh toán trực tuyến bằng thẻ ATM, SVTH: Trần Khánh Lộc – Lớp CCCT16B 56
  64. T I LIỆU THA H [1]. [2]. [3]. Ebook Laravel Code Smart – Dayle Rees [4]. Head First PHP & MySQL – Lynn Beighley & Michael Morrison vi