Chính vì vậy, nhóm em đã quyết định chọn đề tài: “Sử dụng phần mềm mã nguồn mở Wordpress và ngôn ngữ lập trình PHP xây dựng chức năng cập nhật và tìm kiếm cán bộ” để có thể làm rõ được l
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN PHẦN MỀM MÃ NGUỒN MỞ
ĐỀ TÀI:
SỬ DỤNG PHẦN MỀM MÃ NGUỒN MỞ WORDPRESS VÀ NGÔN NGỮ LẬP TRÌNH PHP XÂY DỰNG CHỨC NĂNG
CẬP NHẬT VÀ TÌM KIẾM CÁN BỘ
NÔNG NGỌC HOÀNG ANH NGUYỄN TUẤN DŨNG
Hà Nội, ngày… tháng… năm 2023
Trang 2PHIẾU CHẤM ĐIỂM
Sinh viên thực hiện:
Trang 3Mc lc
LỜI NÓI ĐẦU 1
Chương 1: Tổng quan về phần mềm mã nguồn mở 2
1 Tổng quan về phần mềm mã nguồn mở 2
2 Giới thiệu về PHP và MySQL 3
2.1 PHP 3
2.2 MySQL 5
3 Mã nguồn mở Wordpress 6
4 XAMPP 9
Chương 2: Kiến trúc của phần mềm mã nguồn mở Wordpress 10
1 Mô hình kiến trúc: 10
2 Core (lõi) của WordPress: 10
3 Giao diện (Themes) trong WordPress: 11
4 Tiện ích mở rộng (Plugins) trong WordPress: 11
5 Cơ sở dữ liệu: 11
6 Ngôn ngữ lập trình và công nghệ: 12
7 Xử lý yêu cầu và quy trình: 12
8 Bảo mật và hiệu năng: 12
Chương 3: Áp dụng phần mềm mã nguồn mở Wordpress xây dựng chức năng cập nhật và tìm kiếm cán bộ 13
1 Cài đặt XAMPP: 13
2 Cài đặt WordPress: 13
3 Tạo chức năng cập nhật và tìm kiếm cán bộ: 14
4 Triển khai và kiểm tra: 14
Chương 4: Demo chương trình 15
KẾT LUẬN 17
Trang 4LỜI NÓI ĐẦU
Ngày nay, trong thời đại 4.0 với sự bùng nổ của ngành Công nghệ thôngtin thì việc các ban ngành sẽ áp dụng cộng nghệ thông tin đổi mới về cácphương pháp làm việc, quản lí , dạy học, y tế,… cũng chỉ là việc sớm muộn.Cùng với sự gia tăng nhân lực của các ngành thì có lẽ việc quản lí theo phươngpháp truyền thống sẽ tốn rất nhiều thời gian, công sức
Chính vì vậy, nhóm em đã quyết định chọn đề tài: “Sử dụng phần mềm
mã nguồn mở Wordpress và ngôn ngữ lập trình PHP xây dựng chức năng cập nhật và tìm kiếm cán bộ” để có thể làm rõ được lợi ích của việc áp dụng công
nghệ thông tin vào quản lí cũng như mong muốn khám phá sức mạnh của phầnmềm mã nguồn mở WordPress cùng với trình cài đặt ngôn ngữ PHP trong việcxây dựng và mở rộng chức năng của một trang web Với sự phổ biến củaWordPress trong việc xây dựng trang web, công việc nắm bắt và tối ưu hóa nó
để đạt được mục tiêu cụ thể là một công thức đáng giá để khám phá và nghiêncứu
Em xin gửi lời cảm ơn tới thầy Phạm Đức Hồng đã truyền dạy cho emnhững kiến thức cần thiết và bổ ích của môn “Phần mềm mã nguồn mở” Đểthực hiện tốt báo cáo này, em đã đi khảo sát thực tế và hoàn thành được đề tài
đã chọn với tất cả sự nỗ lực, tuy nhiên do sự hiểu biết của về lĩnh vực này cònchưa sâu sắc, bước đầu đi vào thực tế và thời gian có hạn, nên khó tránh khỏicòn nhiều sai sót Em rất mong nhận được sự quan tâm, thông cảm và nhữngđóng góp quý báu của các thầy cô để báo cáo này ngày càng hoàn thiện hơn.Sau cùng, em xin kính chúc các thầy cô trong Khoa Công Nghệ Thông Tin dồi
1
Trang 5dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình làtruyền đạt kiến thức cho thế hệ mai sau
Em xin trân thành cảm ơn!
Chương 1: Tổng quan về phần mềm mã nguồn mở
1 Tổng quan về phần mềm mã nguồn mở
Phần mềm mã nguồn mở (Open source software – OSS) là những phầnmềm được cung cấp dưới cả dạng mã và nguồn, không chỉ là miễn phí về giámua mà chủ yếu là miễn phí về bản quyền; người dùng có quyền sửa đổi, cảitiến, phát triển, nâng cấp theo một số nguyên tắc chung quy định trong giấyphép phần mền mã nguồn mở mà không cần xin phép ai, điều mà họ khôngđược phép làm đối với các phần mềm nguồn đóng (phần mềm thương mại).Nhà cung cấp phần mềm nguồn mở có quyền yêu cầu người dùng trả một
số chi phí về các dịch vụ như: bảo hành, huấn luyện, nâng cấp, tư vấn, vv… lànhững dịch vụ thực sự để phục vụ người dùng, nhưng không được bán các sảnphẩm nguồn mở vì nó là tài sản của trí tuệ chung, không phải là tài sản riêngcủa bất kì một nhà cung cấp nào
Ưu và nhược điểm của phần mềm mã nguồn mở:
- Ưu điểm: Phần mềm được sao chép hoàn toàn miễn phí, tự do sử dụngchương trình cho mọi mục đích, tự do để nghiên cứu cấu trúc của chươngtrình, chỉnh sửa phù hợp với nhu cầu,truy cập vào mã nguồn, tự do phânphối lại các phiên bản cho nhiều người, tự do cải tiến chương trình và pháthành những bản cải tiến vì mục đích công cộng
- Nhược điểm:
Tính bảo mật thấp
Trang 6 Thiếu sáng tạo và tính tự do
Tùy biến không cao
Một số mã nguồn mở đang được sử dụng hiện nay là: Joomla,Drupal,Wordpress, Magento, DotNetNuke, …
2 Giới thiệu về PHP và MySQL
2.1 PHP
PHP: Hypertext Preprocessor, thường được viết tắt thành PHP là mộtngô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áttriển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổngquá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ớicác ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trìnhweb phổ biến nhất thế giới
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộngđồng và có sự đóng góp rất lớn của Zend Inc, công ty do các nhà phát triển cốtlõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHPphát triển ở quy mô doanh nghiệp
Hiện nay PHP đã phát triển đến phiên bản PHP 7 và vẫn đang trên đà pháttriển tiếp Trong phiên bản PHP 7 với việc sử dụng bộ nhân Zend Engine mớiPHPNG cho tốc độ nhanh gấp 2 lần phiên bản PHP 5 Ngoài ra ở phiên bảnnày còn thêm vào rất nhiều cú pháp, tính năng mới giúp cho PHP trở nên mạnh
mẽ hơn
3
Trang 7PHP chỉ phân tích các đoạn mã nằm trong những dấu giới hạn của nó Bất
cứ mã nào nằm ngoài những dấu giới hạn đều được xuất ra trực tiếp khôngthông qua xử lý bởi PHP Các dấu giới hạn thường dùng nhất là <?php và ?>,tương ứng với dấu giới hạn mở và đóng Các dấu giới hạn <scriptlanguage="php"> và </script> cũng đôi khi được sử dụng Mục đích của nhữngdấu giới hạn này là ngăn cách mã PHP với những đoạn mã thuộc ngôn ngữkhác, gồm cả HTML Mọi đoạn mã bên ngoài các dấu này đều bị hệ thốngphân tích bỏ qua và được xuất ra một cách trực tiếp
Hình 1: Cú pháp PHP đơn giản “Xin chào PHP!”
Mô hình lập trình PHP: Ứng dụng web sử dụng mô hình Client-Server
Mô hình này bao gồm một máy chủ (Server) có nhiệm vụ chia sẻ tài nguyênvới máy khách (Client) thông qua mạng Internet Hình ảnh dưới đây cho thấycác thành phần cơ bản của mô hình Client-Server
Trang 8Hình 2: Mô hình Client-Server
Server có thể chia sẻ các tài nguyên như: tập tin, websites, cơ sở dữ liệu,
và email Web server là một máy chủ chia sẻ trang web, và web browser (trìnhduyệt web) là một phần mềm phía client sử dụng để kết nối tới web server.Không phải ngẫu nhiên mà các trang web lớn như Yahoo, Facebook,Wikipedia, Digg, Joomla, WordPress, … lại được viết bằng PHP Chính sự đơngiản, tính hiệu quả và linh động của PHP đã giúp nó trở thành ngôn ngữ phổbiến trong giới lập trình như hiện nay
5
Trang 9MySQL không chỉ là cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thếgiới, nó còn trở thành cơ sở dữ liệu được chọn cho thế hệ mới của các ứngdụng xây dựng trên nền Linux, Apache, MySQL, PHP/Perl/Python MySQLchạy trên hơn 20 flatform bao gồm: Linux, Windows, OS/X, HP-UX, AIX,Netware, mang đến cho bạn tính linh hoạt trong việc sử dụng.
1 website trên nền wordpress, 1 website được tạo ra nhanh chóng đơn giản màlại tiện cho việc quảng bá sản phẩm, thông tin, kiến thức …
Trang 10Hình 3: Mã nguồn mở Wordpress
Khi tạo một website cho riêng bạn có thể sẽ có những lý do riêng, nhưngnếu so với các script và dịch vụ website khác, có thể bạn sẽ thích Wordpress ởnhững tính năng dưới đây:
Dễ cài đặt, chỉ cần khởi tạo database, upload và thiết lập tham số trong filewp-config.php, sau 1,2 lần click chuột, bạn đã sẵn sàng để viết blog
Không giới hạn số lượng category và sub-category: bạn có thể tạo vô sốchuyên mục và các chuyên mục con trong các chuyên mục chính mà khônggặp phải bất kì rắc rối nào Tự động xuất RSS và Atom: giúp cập nhật cácthông tin về blog của bạn ngay lập tức
Sử dụng giao diện XML RPC để trackback và viết bài từ xa
Có thể đăng bài trên blog từ email
Hỗ trợ plugin và theme: đây là một điểm mạnh nhất củaWordpress Nó tạo
cơ hội cho hàng nghìn nhà phát triển cùng tham gia phát triển các plugin vàtheme cho Wordpress, làm cho nó càng ngày càng phong phú về tính năng
và giao diện
Có thể nhập dữ liệu từ Blogger, Blogware, Bunny’s TechnoratiTags,DotClear, GreyMatter, Jorome’s Keyword, LiveJournal, Movable Type,
7
Trang 11TypePad, RSS, Simple Tagging, Textpattern, B2evoluton, v.v Đây là chứcnăng tuyệt vời nếu như bạn muốn chuyển từ một blog khác sang sử dụngWordpress, nó giúp lấy lại tất cả các bài viết trên các blog khác để chuyểnqua Wordpress
Rất nhiều tài liệu hướng dẫn để giúp phát triển thêm tính năng, và nhiều bộAPI để mở rộng
Dễ quản lý và duy trì mà chẳng cần phải có nhiều kĩ năng hay kinh nghiệm
Khả năng tìm kiếm trên blog rất tốt
Xuất bản nội dung ngay lập tức bất kể chiều dài của bài viết là bao nhiêu
Hỗ trợ viết blog đa ngôn ngữ
Administration Panel được tổ chức rất tốt với rất nhiều tính năng nhưng lại
dễ hiểu và dễ sử dụng
Quản lý liên kết dễ dàng
Với sự trợ giúp của các plugin và rất nhiều bộ API, bạn có thể chỉnh sửaWordpress tùy thích theo nhu cầu của bạn, và thậm chí bạn cũng có thể sửdụng Wordpress để làm một website hoàn chỉnh Wordpress có hàng ngànplugin và theme, với một cộng đồng người sử dụng dụng cực kì đông đảo luônsẵn sàng góp sức phát triển, điều này làm cho Wordpress ngày càng lớn mạnhthể hiện vai trò số 1 của mình
Plugin trong WordPress là một hoặc nhiều đoạn code được bổ sung vào
mã nguồn website WordPress Plugin còn được gọi là phần mở rộng củawebsite giúp bạn tùy chỉnh và bổ sung chức năng cho website WordPress củamình
Có hàng ngàn Plugin với những chức năng khác nhau Chỉ cần bạn có nhucầu, hầu hết các nhu cầu của bạn đều được Plugin hỗ trợ và sẵn sàng cho bạn
Trang 12sử dụng Bạn có thể dùng Plugin trong WordPress cho nhiều thể loại websitekhác nhau một cách đơn giản
Plugin là một thành phần không thể thiếu trong website WordPresscủabạn Bất kể bạn làm website gì, bạn sử dụng Theme tự Code hay Theme trênmạng thì việc sử dụng Pluign là điều chắc chắn Ngoài việc hỗ trợ xây dựngthêm chức năng cho website Bạn cũng sẽ tìm được những Plugin hỗ trợ chocác vấn đề như: Plugin Seo, Plugin tăng tốc, Plugin tối ưu website, Plugin bảomật …
9
Trang 134 XAMPP
Xampp là chương trình tạo máy chủ Web (Web Server) được tích hợp sẵnApache, PHP, MySQL, FTP Server, Mail Server và các công cụ nhưphpMyAdmin Xampp có chương trình quản lý khá tiện lợi, cho phép chủ độngbật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào
Xampp được sử dụng cho mục đích nghiên cứu, phát triển website quaLocalhost của máy tính cá nhân, nó được ứng dụng trong nhiều lĩnh vực từ họctập đến nâng cấp, thử nghiệm Website của các lập trình viên
Các ưu điểm của Xampp bao gồm:
o Xampp có thể chạy được trên tất cả các hệ điều hành
o Xampp có cấu hình đơn giản cùng với nhiều chức năng hữu ích chongười dùng như: giả lập Server, giả lập MailServer, hỗ trợ SSL trênLocalhost
o Xampp tích hợp nhiều thành phần với các tính năng:
Apache: một trong những máy chủ web cung cấp khả năng xử lý cácyêu cầu HTTP và phục vụ các trang web tĩnh và động
PHP : một ngôn ngữ lập trình phía máy chủ phổ biến tạo ra các trang web tương tác và xử lý dữ liệu từ các biểu mẫu và cơ sở dữ liệu
MySQL: một hệ quản trị cơ sở dữ liệu phổ biến cung cấp khả năng lưu trữ và truy xuất dữ liệu hiệu quả cho các ứng dụng web
phpMyAdmin: Đây là một công cụ quản lý cơ sở dữ liệu MySQL dễ
sử dụng thông qua giao diện web
Xampp có giao diện quản lý khá tiện lợi với khả năng bật tắt máy chủ bất
cứ lúc nào Tuy nhiên, bởi vì có cấu hình đơn giản nên Xampp không được hỗ
Trang 14trợ cấu hình Module, cũng không có Version MySQL Do đó, đôi khi sẽ mangđến sự bất tiện cho người dùng
Chương 2: Kiến trúc của phần mềm mã nguồn mở Wordpress
Kiến trúc của phần mềm mã nguồn mở WordPress được tổ chức theo môhình kiến trúc client-server, trong đó máy chủ là nơi lưu trữ và xử lý dữ liệu, vàmáy khách là nơi người dùng truy cập và tương tác với các trang webWordPress
1 Mô hình kiến trúc:
Máy chủ (Server): WordPress chạy trên một máy chủ web, chủ yếu
là Apache trên Xampp, với hỗ trợ PHP và MySQL Máy chủ nhậnyêu cầu từ máy khách và xử lý các yêu cầu đó để tạo ra và truyền tảicác trang web WordPress
Máy khách (Client): Máy khách là nơi người dùng truy cập và tươngtác với trang web WordPress thông qua trình duyệt web Máy kháchgửi yêu cầu HTTP đến máy chủ và nhận phản hồi từ máy chủ, sau đóhiển thị nội dung trên trình duyệt
2 Core (lõi) của WordPress:
Core là phần quan trọng nhất của WordPress, bao gồm các tệp tin vàthư mục chính của hệ thống Nó bao gồm các thành phần như:
Index.php: Là tệp tin đầu tiên được gọi khi trang web được truy cập
Nó khởi động quá trình xử lý yêu cầu và điều hướng tới các tệp tin
và thư mục phù hợp
Thư mục wp-admin: Chứa các tệp tin và thư mục liên quan đến giaodiện quản trị của WordPress Nó cung cấp các công cụ để quản lý,cấu hình và tùy chỉnh trang web WordPress
11
Trang 15 Thư mục wp-includes: Chứa các tệp tin chứa các hàm và lớp cốt lõicủa WordPress Nó cung cấp các chức năng cần thiết cho hoạt độngcủa WordPress, chẳng hạn như xử lý dữ liệu, xác thực và quản lý cácplugin và themes.
Thư mục wp-content: Là nơi lưu trữ tất cả nội dung tùy chỉnh củatrang web WordPress, bao gồm themes, plugins và các tệp tinphương tiện như hình ảnh, video, v.v
3 Giao diện (Themes) trong WordPress:
Giao diện trong WordPress định nghĩa cách trang web được hiển thịcho người dùng Mỗi trang web WordPress sử dụng một giao diện cụthể, có thể là giao diện mặc định hoặc được tùy chỉnh
Giao diện được tổ chức thành các thư mục và tệp tin, bao gồm cácfile mã HTML, CSS, JavaScript và hình ảnh Nó chứa các template
và style để xác định cách nội dung sẽ được hiển thị trên trình duyệt
Giao diện trong WordPress có thể được tùy chỉnh và mở rộng đểtuân thủ theo yêu cầu và ý muốn của người dùng
4 Tiện ích mở rộng (Plugins) trong WordPress:
Tiện ích mở rộng là các thành phần mở rộng của WordPress, chophép người dùng mở rộng tính năng và chức năng của trang web,Các plugin thường cung cấp các chức năng phụ trợ như quản lý bìnhluận, tạo biểu đồ, tích hợp mạng xã hội, tối ưu hóa SEO, và nhiềuchức năng khác
Plugins có thể được cài đặt, kích hoạt và tùy chỉnh trong quản trịWordPress Chúng bao gồm các tệp tin PHP, các thư viện JS và CSS
5 Cơ sở dữ liệu:
WordPress sử dụng cơ sở dữ liệu MySQL để lưu trữ và quản lý dữliệu
Trang 16 Các bảng dữ liệu trong cơ sở dữ liệu MySQL được sử dụng để lưutrữ thông tin tương ứng với các thành phần WordPress như bài viết,trang, người dùng, v.v.
13
Trang 177 Xử lý yêu cầu và quy trình:
Khi máy khách gửi yêu cầu HTTP đến máy chủ, WordPress sẽ tiếpnhận và xử lý yêu cầu này
Quá trình xử lý yêu cầu bao gồm các bước như tiếp nhận yêu cầu,xác thực và phân tích yêu cầu, xử lý yêu cầu và trả về kết quả
WordPress sử dụng các hooks và filters để cho phép mở rộng và tùychỉnh quá trình xử lý yêu cầu Hooks và filters cho phép các plugin
và themes can thiệp vào quá trình xử lý để thêm, sửa đổi hoặc loại bỏcác chức năng
8 Bảo mật và hiệu năng:
WordPress chú trọng đến bảo mật và cung cấp các biện pháp bảo mậtnhư quản lý quyền truy cập, kiểm tra dữ liệu đầu vào, ngăn chặn tấncông từ chối dịch vụ (DDoS), và mã hóa dữ liệu nhạy cảm
Để tăng hiệu suất và hiệu năng, WordPress hỗ trợ các biện pháp như
bộ nhớ đệm (caching), tối ưu hóa hình ảnh, minification (tối thiểuhóa kích thước tệp tin), và sử dụng các công cụ tối ưu hóa mã nguồn.Kiến trúc này cho phép WordPress trở thành một nền tảng linh hoạt, dễ sửdụng và mở rộng, cho phép người dùng xây dựng và quản lý các trang web đadạng và phong phú