Chương 1 TỔNG QUAN 1. Giới thiệu Hiện nay xã hội ngày một phát triển một cách nhanh chống kèm theo đó là các lĩnh vực như công nghệ, truyền thông, giải trí,… cũng phát triển rất mạnh. Không những thế cả về việc giáo dục cũng đang phát triển theo, không còn quá ràng buộc kiến thức chỉ ở sách vở, ngay cả việc giảng dạy cũng thế. Tất cả mọi thứ đều được đưa lên Internet và để tiếp cận một cách dễ dàng thì phải cần một chiếc laptop, nó là một thiết bị kết nối Internet thông qua mạng Wifi, không quá nặng và to như máy tính bàn, dễ dàng cho việc mang theo đến bất kì đâu.
Một thiết bị rất hữu dụng cho công việc, học tập và giải trí. Và để sở hữu một chiếc laptop mà không cần phải đi đâu, thì bạn chỉ cần tham khảo và đặt mua trên website thương mại về bán laptop hoặc đồ công nghệ. Và đây cũng là một phần đề tài mà nhóm thực hiện: Xây dựng một website bán laptop và phụ kiện. Website sẽ đáp ứng các nhu cầu chính như tìm kiếm, xem, so sánh và tiến hành đặt mua sản phẩm mà bạn muốn.
Website sẽ chuyên về bán laptop và những phụ kiện kèm theo như là bàn phím, chuột, tai nghe,…Website còn cũng cấp những sản phẩm gợi ý tương tự như sản phẩm mà bạn đã chọn xem. Ngoài ra sẽ còn nhiều tính năng khác khi bạn đăng nhập tài khoản. Mục tiêu đề ra Xây dựng một website bán laptop và phụ kiện, cung cấp cho người dùng những thông tin về laptop và phụ kiện một cách chi tiết, đưa ra lựa chọn về sản phẩm muốn mua một cách nhanh chóng. Ngoài ra website còn hướng đến trải nghiệm người dùng, giao diện đơn giản và dễ dàng sử dụng.
Phạm vi đề tài Xây dựng website theo hướng thương mại điện tử, cung cấp các chức năng cơ bản như xem danh sách sản phẩm, chi tiết từng sản phẩm, tìm kiếm sản phẩm, giỏ hàng và đặt hàng. Thiết kế website theo hướng đơn trang(Single Page Application) thay vì Multiple- page applications phải load lại toàn bộ trang web mỗi khi chuyển trang nhằm nâng cao trải nghiệm người dùng. 1 do an Chương 2 CƠ SỞ LÝ THUYẾT VÀ KHẢO SÁT THỰC TRẠNG 2. Laravel là gì? Là một framework PHP có mã nguồn mở miễn phí, giúp xây dựng các ứng dụng theo mô hình MVC (Model - View – Controller) một cách nhanh chóng, được tạo ra bởi một lập trình viên kỳ cựu từng làm .NET đó là Taylor Otwell.
Được phát hành lần đầu vào ngày 9 tháng 6 năm 2011 [1].1 Lịch sử các phiên bản phát hành Laravel [1] Trước đây Laravel có tên là Bootplant sau đó thì đổi thành là Laravel, nguồn gốc tên bắt nguồn từ tên một tòa lâu đài ở Narnia, một vùng đất không có thật, mà nó ở trong một thế giới được tưởng tượng ra bởi nhà văn Clive Staples Lewis, và viết thành cuốn tiểu thuyết “Biên niên sử Narnia” [4] rất nổi tiếng được dựng thành phim. Tòa lâu đài có tên là Paravel đọc lái đi sẽ thành Laravel, mục đích của Taylor Otwell là mong muốn đứa con tinh thần Laravel phát triển một cách mạnh mẽ và vững trải 2 do an như tòa lâu đài. Và rồi đến tận bây giờ thì Laravel vẫn luôn là một trong những framework tốt nhất của PHP 2. Tại sao nên dùng Laravel? Laravel có thể xây dựng hệ thống các ứng dụng web phức tạp với hiệu năng cao.
Cho dù laravel rất đơn giản và dễ dàng cho người mới tiếp cận với framework PHP nhưng vẫn đảm bảo hệ thống có kiến trúc thống nhất và khoa học [2]. Cộng đồng Laravel rất lớn trên Laracast, bạn có thể tìm câu trả lời cho những vấn đề, tình huống mà bạn thắc mắc hay là không biết trong Laravel. Không những thế các tài nguyên liên quan đến Laravel cũng rất đa dạng, dễ sử dụng. Tác giả của framework này -Taylor Otwell cũng đã biên soạn ra tài liệu để cho các lập trình viên khám phá và trải nghiệm [2].
Có tích hợp công cụ dòng lệnh là Artisan, hỗ trợ rất nhiều trong việc phát triển ứng dụng: tối ưu hóa ứng dụng, migrate dữ liệu, tạo các template, controller, … Trong Laravel có một bộ máy template rất hay, đó là blade template, giúp thực hiện làm việc tương tác giữa PHP và HTML đơn giản hơn, tách biệt hơn giữa mã hiển thị và mã logic nghiệp, cái mà trước đó chỉ có thể biết đến ở .NET hoặc Java. Blade template còn có thể kế thừa một template khác và có thể còn script js, jquery… Laravel sử dụng gói thư viện Webpack kết hợp với npm, yarn. nhằm giúp bạn tự động hóa thay vì build thủ công các ứng dụng và triển khai sản phẩm. Từ đó có thể thấy được Laravel hỗ trợ việc các đặt các gói thư viện và sử dụng nhằm tạo ra các tính năng tuyệt vời [2].
Laravel luôn thay đổi, cập nhật trong các phiên bản, luôn tìm kiếm những tính năng hay, những gói thư viện tốt và hữu ích để tích hợp vào. PHP là gì? PHP khởi đầu như là một dự án mã nguồn mở nhỏ, nhưng theo đà phát triển, ngày càng nhiều người thấy rằng nó càng ngày càng hữu ích. PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng.
Ông đã đặt tên cho bộ mã kịch bản này là "Personal Home Page Tools". Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới Database và giúp cho người sử dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết 3 do an định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó, đồng thời cải tiến mã nguồn [6]. PHP viết hồi qui của "PHP: Hypertext Preprocessor".
PHP là ngôn ngữ lập trình kịch bản viết cho máy chủ mà được nhúng trong HTML. Nó được sử dụng để quản lý nội dụng động, Database, Session tracking, … Nó được tích hợp với một số Database thông dụng như MySQL, PostgreSQL, Oracle, Sybase, Informix, và Microsoft SQL Server. PHP thực thi rất tuyệt vời, đặc biệt khi được biên dịch như là một Apache Module trên Unix side. MySQL Server, khi được khởi động, thực thi các truy vấn phức tạp với các tập hợp kết quả khổng lồ trong thời gian Record-setting.
PHP hỗ trợ một số lượng rộng rãi các giao thức lớn như POP3, IMAP, và LDAP. PHP4 bổ sung sự hỗ trợ cho Java và các cấu trúc đối tượng phân phối (COM và CORBA).2 Top 10 ngôn ngữ lập trình phổ biến 2004 - 2020 2. Tại sao nên dùng PHP Hiện nay, có hàng ngàn ngôn ngữ lập trình có sẵn nhưng chỉ có vài ngôn ngữ phổ biến và được nhiều người tin dùng. 1 trong các ngôn ngữ lập trình phổ biến nhất đó là PHP.
Đây là 1 ngôn ngữ được thiết kế để phục vụ cho việc phát triển web và được cài đặt trên 20 triệu website, 1 triệu máy chủ web [6]. Ngôn ngữ ASP cũng là 1 ngôn ngữ lập trình được xem là 1 trong những đối thủ cạnh tranh của PHP, 2 ngôn ngữ này đều được dùng cho việc tạo website, linh động 4 do an hơn so với web tĩnh dùng ngôn ngữ HTML, cho phép người dùng tương tác và trao đổi thông tin. Hiện nay, có hàng ngàn ngôn ngữ lập trình có sẵn nhưng chỉ có vài ngôn ngữ phổ biến và được nhiều người tin dùng. 1 trong các ngôn ngữ lập trình phổ biến nhất đó là PHP.
Đây là 1 ngôn ngữ được thiết kế để phục vụ cho việc phát triển web và được cài đặt trên 20 triệu website, 1 triệu máy chủ web.3 So sánh tổng quan giữa ASP và PHP Ngôn ngữ ASP cũng là 1 ngôn ngữ lập trình được xem là 1 trong những đối thủ cạnh tranh của PHP, 2 ngôn ngữ này đều được dùng cho việc tạo website, linh động hơn so với web tĩnh dùng ngôn ngữ HTML, cho phép người dùng tương tác và trao đổi thông tin.js là gì? Là một framework linh động và còn là javascript framework dùng để xây dựng giao diện người dùng theo hướng ứng dụng đơn trang (SPA - Single-Page Applications). Giao diện website phân chia thành các component và có thể tái sử dụng, một component hay còn gọi là một đối tượng Vue. 5 do an Hình 2.4 Vòng đời của Vuejs 6 do an 2. Tại sao nên dùng Vue.js? Vue cung cấp hệ thống cho phép chúng ta render dữ liệu lên DOM theo hướng khai báo thay vì theo hướng mệnh lệnh.
Có các directive (chỉ thị) hỗ trợ cho transition (hiệu ứng chuyển đổi) khi mà một phần tử web nào đó được tạo ra, cập nhật hoặc bị xóa đi khỏi DOM. Ví dụ: v-bind, v-if, v-for, … Đi kèm với các event listener (phần tử lắng nghe sự kiện) và gọi các method (phương thức) trên đối tượng Vue là directive v-on, điều này giúp người dùng tương tác với ứng dụng một cách dễ dàng. Một component có thể được tái sử dụng ở các teample khác nhau. Vue đơn giản và dễ dàng tiếp cận, được tích hợp trong Laravel Framework.
PostgreSQL là gì? PostgreSQL là một hệ thống cơ sở dữ liệu quan hệ đối tượng mã nguồn mở mạnh mẽ với hơn 30 năm phát triển tích cực đã mang lại cho nó một danh tiếng mạnh mẽ về độ tin cậy, tính mạnh mẽ và hiệu suất. Đặc điểm của PostgreSQL Là mã nguồn mở. [6] Tuân thủ các chuẩn của SQL, chuẩn ACID. Hoạt động được trên nhiều hệ điều hành như: Linux, UNIX, Mac OS X, Solaris và Windows.
Hỗ trợ các ngôn ngữ như C/C++, Java, .Net, Perl, Python, Ruby thông qua interface JDBC, ODBC, PERL/DBI. Là CSDL quan hệ hướng đối tượng. Kiểu dữ liệu UUID, liệt kê (emumerated), nhị phân (binary), địa chỉ mạng (network address), tìm kiếm văn bản (Text Search), XML, mảng (Arrays), hình học (Geometric)… Hỗ trợ MVCC, đánh chỉ mục (index), quản lý dung lượng bảng (tablespaces). Wampp là gì? WAMP là từ viết tắt của Windows, Apache, MySQL, và PHP [7].
Nó là một bộ phần mềm để cài đặt Apache, MySQL, PHP… Trên hệ điều hành Windows. Dĩ nhiên, có thể cài riêng rẻ từng phần mềm, nhưng thường mọi người sẽ cài cả bộ để sử dụng. WAMP được phát triển từ LAMP (chữ L là viết tắt của Linux). Sự khác biệt chính giữa 2 cái là WAMP thì dùng cho Windows, còn LAMP là dùng cho hệ điều hành nền Linux.
Chúng có công dụng tương đương nhau. Các ký tự của WAMP là gì: “W” đại diện cho Windows, nếu dùng hệ Linux thì sẽ gọi là LAMP và dùng Mac thì gọi là MAMP.