CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1.1 Giới Thiệu Đề Tài Trong những năm gần đây, các ứng dụng internet đã được sử dụng nhiều trong việc tuyên truyền, quảng cáo, giới thiệu các tin tức, sự kiện, hay quảng cáo các sản phẩm. Một trong các ứng dụng cơ bản và đơn giản nhưng vô cùng hiệu quả là thông qua các trang web. Đối với một doanh nghiệp hay một công ty thì việc quản lý thiết bị văn phòng của mình là không thể thiếu. Do đó, phát triển một website để quản lý các thiết bị văn phòng là một đề tài có ứng dụng cao, rất đáng quan tâm nghiên cứu.
Đề tài đi tìm hiểu, phân tích và xây dựng một website thử nghiệm quản lý thiết bị văn phòng bằng ngôn ngữ PHP và hệ quản trị CSDL mySQL. Giới thiệu về các công nghệ, phần mềm 1. Công nghệ lập trình web PHP PHP là cách viết tắt hồi quy của cụm từ tiếng Anh Hypertext Preprocessor, là ngôn ngữ lập trình kích bản mã nguồn mở (hay ngôn ngữ lập trình đa mục đích) được được phát triển từ năm 1994. Nó được dùng để phát triển các ứng dụng cho máy chủ.
Ngôn ngữ này chạy ở phía server, nhằm sinh mã html trên client. Cũng chính bởi thế, PHP đã tạo ra các ứng dụng web. Mã lệnh của nó được nhúng vào html nhờ sử dụng cặp thẻ PHP <?php?>. Ngôn ngữ lập trình PHP hiện đã trải qua rất nhiều phiên bản khác nhau.
Do được tối ưu hóa cho website nên cách viết mã tương đối rõ ràng. Tốc độ của mã PHP, dễ hiểu dễ học. Bởi vậy mà PHP trở thành một trong những ngôn ngữ lập trình website phổ biến, được sử dụng nhiều nhất hiện nay bởi các công ty, dịch vụ thiết kế website. Thậm chí là nhiều website lớn như Facebook.website,… cũng đã sử dụng PHP để thiết kế web.
* Ưu điểm của PHP : PHP có thể được sử dụng với mọi hệ điều hành : Linux, Unix, Microsoft Window, Mac OS X, RISC OS… 9 PHP cũng được hỗ trợ cho hầu hết các web server hiện nay : IIS, Apache, Personal Web Server, Nescape… Đặc tính mạnh mẽ nhất của PHP là nó có thể truy cập nhiều loại cơ sở dữ liệu khác nhau thông qua các hàm được xây dựng sẵn. Các lệnh PHP được đặt trong cặp thẻ mở-thẻ đóng và được nhúng trong file HTML xen kẽ với các thẻ của HTML. Bộ biên dịch của PHP có dung lượng nhỏ nên không tốn tài nguyên của server. Sử dụng PHP hoàn toàn miễn phí.
Bên cạnh đó, có rất nhiều email để liên lạc khi chúng ta thắc mắc và cần được giải đáp. PHP được cải tiến thường xuyên do có nhiều người yêu thích, sử dụng và tham gia phát triển phần mềm đó. * Nhược điểm của PHP : PHP tuy có nhiều thế mạnh nhưng có một thiếu sót nhỏ là nó không xây dựng các hàm kiểm soát lỗi. Chúng ta có thể tự thiết kế các hàm kiểm lỗi nhưng cấu trúc chương trình không thống nhất.
Một số phiên bản đầu của PHP không được thiết kế cho ngôn ngữ hướng đối tượng. Giới thiệu về laravel 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 vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếm 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 modular và quản lý gói phụ thuộc, nhiều cách khá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. Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọn PHP framework phổ biến nhất, Laravel đã giành vị trí quán quân cho PHP framework phổ biến 10 nhất năm 2015, theo sau lần lượt là Symfony2, Nette, CodeIgniter, Yii2 vào một số khác.
Trước đó, Tháng 8 2014, Laravel đã trở thành project PHP phổ biến nhất và được theo dõi nhiều nhất trên Github. Laravel được phát hành theo giấy phép MIT, với source code được lưu trữ tại Github. Ưu điểm của Laravel PHP Framework Dưới đây là 10 ưu điểm của Laravel so với các framework khác: 1. Sử dụng các tính năng (feature) mới nhất của PHP 2.
Sử dụng mô hình MVC (Model – View – Controller) 3. Hệ thống xác thực (Authentication) và ủy quyền (Authorization) tuyệt vời 4. Có hệ thống tài liệu chi tiết, dễ hiểu 5. Cộng đồng hỗ trợ đông đảo 6.
Tích hợp công cụ Artisan – Công cụ quản lý dòng lệnh 7. Sử dụng composer để quản lý PHP package 8. Sử dụng npm để quản lý các gói Javascript, giao diện 9. Hỗ trợ Eloquent ORM, Query Builder, Template Engine (Blade) 10.
Hỗ trợ routing mềm dẻo - Laravel có giao diện rất riêng: Bảng điều khiển Artisan. Artisan có thể giúp hợp lý hóa và thực hiện các nhiệm vụ lặp đi lặp lại và phức tạp để các nhà phát triển không phải thực hiện, với các lệnh tích hợp giúp thực hiện trong quá trình phát triển. Tất nhiên, đây là giao diện bảng điều khiển, phần chìm, phần chỉ có lập trình viên thấy. Còn phần giao diện người dùng, Admin chắc chắn là tùy thuộc vào thiết kế của Lập trình viên.
- Độ ổn định: Website lập trình từ Laravel luôn luôn có độ ổn định cao, tốc độ xử lý cực nhanh. 11 - Bảo mật cao: Thông thường nhiều người không biết, cứ nghĩ web code tay là bảo mật tốt. Tuy nhiên, code tay có thể bảo mật tốt hơn Wordpress thôi, và còn tùy thuộc vào người lập trình viên nữa. Còn đối với Laravel, framework đã giải quyết triệt để, vấn đề bảo mật đối vơi website Laravel luôn được đánh giá cao - Xử lý dữ liệu lớn tốt: Đối với những website có lượng dữ liệu lớn, số lượt truy cập cao, Laravel sẽ là lựa chọn tốt nhất.
Việc kết nối và vận hành từ client đến server, từ người dùng đến cơ sở dữ liệu mọi thứ đều rất trơn tru, nhanh chóng và nhẹ nhàng. - Độ phổ biến cao: Nếu các bạn đặt một đối tác thiết kế web, sau khi không hợp tác nữa, chuyển đơn vị khác, hoặc bạn có nhân viên IT thiết kế web, và bạn ấy nghỉ, bàn giao cho bạn mới, nếu sử dụng code tay,hoặc wordpress, khi bàn giao lại sẽ rất khó, đối khi người đến sau có thể không thể tiếp tục phát triển trên cái cũ. Chính vì thế, nếu website làm bằng Laravel, điều đó hoàn toàn bạn không cần phải lo, vì Laravel đang là framework PHP nổi tiếng nhất, nhiều lập trình viên chuyên nghiệp sử dụng nhất, việc tìm được đơn vị mới, người mới để tiếp tục phát triển dự án cũ là rất dễ dàng. Giới thiệu về React React là một thư viện JavaScript declarative, hiệu quả và linh hoạt cho việc xây dựng giao diện người dùng.
React cho phép bạn tạo những giao diện (UI) phức tạp từ những đoạn code nhỏ và độc lập. Những đoạn code này được gọi là “components”.Giới thiệu về Xampp Là phần mềm web server thuộc bản quyền của GNU General Public Licence, XAMPP do Apache Friends phân phối và phát triển. Đây là chương trình tạo máy chủ Web (Web Server) được tích hợp sẵn Apache PHP, MySQL, FTP Server, Mail Server và các công cụ như phpMyAdmin. 12 Web Server (máy phục vụ Web) là máy tính cài đặt phần mềm phục vụ Web.
Đôi khi người ta cũng gọi chính phần mềm đó là Web Server. Hiểu đơn giản, XAMPP là ứng dụng dùng để tạo và điều hành máy chủ nội bộ (localhost). Được ghép của 2 chữ “local” (địa phương, ý chỉ máy tính của bạn) và “host” (máy chủ), localhost là thuật ngữ chỉ máy chủ chạy trên máy tính cá nhân. XAMPP chính là một phần mềm cho phép bạn giả lập môi trường server hosting.
Nhờ server hosting giả định này, bạn có thể chạy thử demo một website ngay trên chiếc máy vi tính của bạn không cần thiết phải mua hosting hay VPS.Giới thiệu về MySQL MySQL chính là hê ̣ quản tri ̣cơ sở dữ liê ̣u mã nguồ n mở Relational Database Management System – RDBMS hiê ̣n nay đươ ̣c sử du ̣ng phổ biế n trên pha ̣m vi toàn cầ u. Hê ̣ quản tri ̣cơ sở dữ liê ̣u này hoa ̣t đô ̣ng dựa trên mô hiǹ h tiêu chuẩ n là Client (Máy khách) – Server (Máy chủ). Với hê ̣ thố ng quản tri ̣cơ sở dữ liê ̣u MySQL khi đưa vào sử du ̣ng đươ ̣c đánh giá cao nhờ viê ̣c tić h hơ ̣p với apache cũng như PHP. Không chỉ vâ ̣y, viê ̣c có tính tương thić h với nhiề u trình duyê ̣t, với nhiề u hê ̣ điề u hành tiêu biể u như Ubuntu, Linux, macOS, Microsoft Windows,… càng giúp viê ̣c sử du ̣ng MySQL đươ ̣c tin tưởng và ưa chuô ̣ng nhiề u hơn.
Trong số rấ t nhiề u phầ n mề m RDBMS thì MySQL đươ ̣c biế t tới rô ̣ng raĩ và phổ biế n nhấ t hiê ̣n nay, đươ ̣c ứng du ̣ng cho phát triể n nhiề u website. Ưu điểm : Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao. 13 Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp.
Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thế nữa nó có thể được mở rộng nếu cần thiết. Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi. Nhược điểm: Giới hạn: Theo thiết kế, MySQL không có ý định làm tất cả và nó đi kèm với các hạn chế về chức năng mà một vào ứng dụng có thể cần. Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài liệu tham khảo, các giao dịch, kiểm toán,…) làm cho nó kém tin cậy hơn so với một số hệ quản trị cơ sở dữ liệu quan hệ khác.
Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy xuất dữ liệu của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều server, hoặc tạo cache MySQL 1.