Chương I: KHẢO SÁT HỆ THỐNG. Tổng quan ngôn ngữ PHP a. Giới thiêụ ngôn ngữ PHP PHP ( PHP: Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML.
Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và 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. Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện ứng dụng HTTP. Ưu điểm của PHP Với PHP, bạn có thể viết ra nhiều kiểu ứng dụng có mô hình tương tác khác nhau như thông qua website (HTTP Request – Response), thông qua Command Line Interface – CLI (ShellBatch processing…), Web Service (SOAP, REST…), thông qua ứng dụng Desktop (PHP-GTK)….
Giống như các công nghệ web khác, PHP là một ngôn ngữ phía Server, có nghĩa là code của bạn sẽ được triển khai và thực thi trên Server. Mới ra đời gần 15 năm nhưng PHP đã có sự phát triển nhanh chóng và chóng mặt. Có thể chỉ ra đây một số ứng dụng nổi tiếng viết bằng PHP như: Yahoo, Facebook, Wikipedia, Digg, Joomla, WordPress…Sự phổ biến của PHP trong xây dựng web đã làm cho ngày càng nhiều website triển khai bằng PHP. Một số dạng web tiêu biểu có thể viết bằng PHP là : Social Network, Message Board (Forum, Guestbook, Blog…), CMS (Content Management System), E-Commerce, Multimedia (Image Gallery, Music, Video…), Web Mail, IM (Instant Message), Office tools… Với những nhà phát triển ứng dụng Web, PHP bộc lộ những ưu điểm sau đây : SVTH: Nguyễn Văn Minh 2 Lớp: PM19.02 Luận văn tốt nghiệp Mã nguồn mở - Có lẽ nhiều bạn cũng biết PHP là một sản phẩm mã nguồn mở (Open-source) nên việc cài đặt và tùy biến PHP là miễn phí và tự do.
- Vì có ưu thế nguồn mở nên PHP có thể được cài đặt trên hầu hết các Web Server thông dụng hiện nay như Apache, IIS… Tính Cộng đồng của PHP - Là một ngôn ngữ mã nguồn mở cùng với sự phổ biến của PHP thì cộng đồng PHP được coi là khá lớn và có chất lượng. - Với cộng đồng phát triển lớn, việc cập nhật các bản vá lỗi phiên bản hiện tại cũng như thử nghiệm các phiên bản mới khiến PHP rất linh hoạt trong việc hoàn thiện mình. - Cộng đồng hỗ trợ, chia sẽ kinh nghiệm của PHP cũng rất dồi dào. Với rất nhiều diễn đàn, blog trong và ngoài nước nói về PHP đã khiến cho quá trình tiếp cận của người tìm hiểu PHP được rút ngắn nhanh chóng.
Thư viện phong phú - Ngoài sự hỗ trợ của cộng đồng, thư viện script PHP cũng rất phong phú và đa dạng. Từ những cái rất nhỏ như chỉ là 1 đoạn code, 1 hàm (PHP.net…) cho tới những cái lớn hơn như Framework (Zend, CakePHP, CogeIgniter, Symfony…) ,ứng dụng hoàn chỉnh (Joomla, WordPress, PhpBB…) - Với thư viện code phong phú, việc học tập và ứng dụng PHP trở nên rất dễ dàng và nhanh chóng. Đây cũng chính là đặc điểm khiến PHP trở nên khá nổi bật và cũng là nguyên nhân vì sao ngày càng có nhiều người sử dụng PHP để phát triển web. Hỗ trợ kết nối nhiều hệ cơ sở dữ liệu - Nhu cầu xây dựng web có sử dụng cơ sở dữ liệu là một nhu cầu tất yếu và PHP cũng đáp ứng rất tốt nhu cầu này.
Với việc tích hợp sẵn nhiều Database Client trong PHP đã làm cho ứng dụng PHP dễ dàng kết nối tới các hệ cơ sở dữ liệu thông dụng. - Việc cập nhật và nâng cấp các Database Client đơn giản chỉ là việc thay thế các Extension của PHP để phù hợp với hệ cơ sở dữ liệu mà PHP sẽ làm việc. - Một số hệ cơ sở dữ liệu thông dụng mà PHP có thể làm việc là: MySQL, MS SQL, Oracle, Cassandra… SVTH: Nguyễn Văn Minh 3 Lớp: PM19.02 Luận văn tốt nghiệp Lập trình hướng đối tượng - Ngày nay, khái niệm lập trình hướng đối tượng (OOP) đã không còn xa lạ với lập trình viên. Với khả năng và lợi ích của mô hình lập trình này nên nhiều ngôn ngữ đã triển khai để hỗ trợ OOP.
- Từ phiên bản PHP 5, PHP đã có khả năng hỗ trợ hầu hết các đặc điểm nổi bật của lập trình hướng đối tượng như là Inheritance, Abstraction, Encapsulation, Polymorphism, Interface, Autoload… - Với việc ngày càng có nhiều Framework và ứng dụng PHP viết bằng mô hình OOP nên lập trình viên tiếp cận và mở rộng các ứng dụng này trở nên dễ dàng và nhanh chóng. Tính Bảo mật - Bản thân PHP là mã nguồn mỡ và cộng đồng phát triển rất tích cực nên có thể nói PHP khá là an toàn. - PHP cũng cung cấp nhiều cơ chế cho phép bạn triển khai tính bảo mật cho ứng dụng của mình như session, các hàm filter dữ liệu, kỹ thuật ép kiểu, thư viện PDO (PHP Data Object) để tương tác với cơ sở dữ liệu an toàn hơn. - Kết hợp với các kỹ thuật bảo mật ở các tầng khác thì ứng dụng PHP sẽ trở nên chắc chắn hơn và đảm bảo hoạt động cho website.
Khả năng mở rộng cho PHP - Bằng việc xây dựng trên nền ngôn ngữ C và là mã nguồn mở nên khả năng mở rộng cho ứng dụng PHP có thể nói là không có giới hạn. - Với thư viện phong phú và khả năng mở rộng lớn, ứng dụng PHP có thể tương tác với hầu hết các loại ứng dụng phổ biến như xử lý hình ảnh, nén dữ liệu, mã hóa, thao tác file PDF, Office, Email, Streaming… - Bạn hoàn toàn có thể tự xây dựng cho mình các Extension để tối ưu, bổ sung các chức năng cho PHP cũng như tối ưu luôn Core của PHP để phục vụ cho các mục đích mở rộng website của mình. SVTH: Nguyễn Văn Minh 4 Lớp: PM19.02 Luận văn tốt nghiệp 2. Khảo sát hiện trạng Website Tin tức a.
Mục đích, yêu cầu của trang web Sau khi được học và tìm hiểu về ngôn ngữ PHP, bằng khả năng thực tế có được, em đã xây dựng Website tin tức, đây là trang web sẽ giới thiệu những tin tức mới hằng ngày. * Qua nghiên cứu tìm hiểu về các website có trên mạng như http://www.vn, http://www.com, http://www.vn, http://www.com, http://www.net em đã rút ra được một số nhận xét sau: - Đối với trang Dantri.vn thì có một số đặc điểm sau: Thông tin đa dạng từ nhiều lĩnh vực như văn hoá, xã hội, sức khoẻ, thể thao, địên ảnh, giải trí… ở trong và ngoài nước. Các thông tin được cập nhật liên tục, cho phép chúng ta xem theo chủ đề, theo ngày tháng trước đấy… Màu sắc hài hoà, các chức năng rõ ràng dễ sử dụng… Bên cạnh đó cũng có những bài viết, những tin tức tồn tại rất lâu ngày. - Đối với trang vnexpress.net: Giao diện không chứa đầy các hình ảnh và bài viết như trang Dantri, nhưng có các đầy đủ các Listbox để đọc giả lựa chọn.
Hình ảnh không đẹp mắt như trang Dân trí. * Qua phỏng vấn một số độc giả hay tham gia vào các trang tin tức, đa số độc giả khi muốn xem tin tức nào đấy thường vào trang Dân trí. Vì họ có thể tìm kiếm thông tin nhanh chóng, có hình ảnh minh họa, thông tin đa chủng loại… * Qua Khảo sát và tham khảo ý kiến bạn đọc, Em quyết định sẽ xây dựng Một Website tin tức tựa trang Dân trí của Việt Nam. Yêu cầu của hệ thống.
o Nguồn thông tin đa dạng và sống động o Giao diện trang web thân thiện, dễ nhìn, dễ sử dụng, màu sắc hài hòa o Thông tin được cập nhật và sửa đổi thường xuyên. SVTH: Nguyễn Văn Minh 5 Lớp: PM19.02 Luận văn tốt nghiệp 3. Tổng kết Từ yêu cầu của hệ thống em đưa ra một số yêu cầu chi tiết về website như sau: o Hiển thị các danh mục. o Hiển thị chi tiết về thông tin trong danh mục.
o Hiển thị đăng ký, đăng nhập. o Hiển thị các thông tin mới diễn ra hằng ngày. Chức năng User o Cho phép đăng ký làm thành viên. o Cho phép xem tin tức.
o Cho phép đăng ký làm cộng tác viên. o Cho phép sửa đổi. o Cho phép Post các bài viết.Đối với người quản trị o Quản lý các User: xóa, sửa, nhập thêm User, Admin o Cập nhật mới các thông tin liên quan, sửa thông tin, xóa thông tin. o Kiểm tra, chỉnh sửa các bài Post lên của User và sau đó đăng bài.
o Hiển thị thông tin lên nhóm tin, chuyên mục c. Yêu cầu của hệ thống mới o Hình thức thông tin đa dạng và sống động. o Giao diên thân thiện, dễ nhìn, màu sắc không đối lập o Cung cấp thông tin và phát triển hoạt động liên tục, không ngừng. o Thông tin được cập nhật và sửa đổi thường xuyên o Có khả năng cập nhật, sửa, xoá.
o Có khả năng tra và tìm kiếm một cách nhanh chóng. o An toàn dữ liệu. SVTH: Nguyễn Văn Minh 6 Lớp: PM19.02 Luận văn tốt nghiệp Chương II: PHÂN TÍCH HỆ THỐNG. Yêu cầu chi tiết về website o Hiển thị các danh mục.
o Hiển thị chi tiết về thông tin có trong danh mục. o Hiện thị kết quả của đăng ký, đăng nhập. o Hiện thị được các thông tin mới diễn ra hàng ngày. Đối với người truy cập Website với chức năng User.
o Cho phép đăng ký thành viên. o Cho phép đăng ký làm cộng tác viên. o Cho phép xem tin tức. o Cho phép Post các bài viết.
Đối với người quản trị o Quản lý các user: xoá, sửa, nhập thêm User, Admin. o Cập nhật mới các thông tin liên quan, sửa thông tin , xoá thông tin. o Kiểm tra, chỉnh sửa các bài Post lên của user và sau đó đăng bài. o Hiển thị thông tin lên theo nhóm tin, chuyên mục.
SVTH: Nguyễn Văn Minh 7 Lớp: PM19.02 Luận văn tốt nghiệp 2. MÔ HÌNH NGHIỆP VỤ a. Biểu đồ ngữ cảnh. Yêu cầu quản lý Yêu Admin Hệ thống cầu User Website Quản lý Chấp nhận/ không chung Qua biểu đồ mức khung cảnh ta thấy: User gửi yêu cầu đến quản lý, Admin là người trực tiếp quản lý trang Web sẽ xử lý yêu cầu đó và cấp phép có hoặc không đối với User.