Xây dựng framework hỗ trợ lập trình Web : Luận văn ThS. Công nghệ thông tin: 60 48 01 03

51 10 0
Xây dựng framework hỗ trợ lập trình Web : Luận văn ThS. Công nghệ thông tin: 60 48 01 03

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ ĐẶNG HẢI AN XÂY DỰNG FRAMEWORK HỖ TRỢ LẬP TRÌNH WEB LUẬN VĂN THẠC SĨ NGÀNH: CƠNG NGHỆ THƠNG TIN Hà Nội – 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ ĐẶNG HẢI AN XÂY DỰNG FRAMEWORK HỖ TRỢ LẬP TRÌNH WEB Ngành Chuyên ngành Mã số : Công nghệ thông tin : Kỹ thuật phần mềm : 60480103 LUẬN VĂN THẠC SĨ NGÀNH: CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: TS TRƢƠNG NINH THUẬN Hà Nội - 2015 LỜI CẢM ƠN Trước hết, xin gửi lời biết ơn sâu sắc đến người thầy PGS.TS Trương Ninh Thuận, thầy dành nhiều thời gian, tâm huyết hướng dẫn nghiên cứu giúp tơi hồn thành tốt luận văn tốt nghiệp Thầy có hướng mở hay định hướng nghiên cứu thiết thực, bổ ích, đồng thời tạo điều kiện thuận lợi cho nghiên cứu Tơi xin bày tỏ lịng biết ơn tới thầy cô trường Đại học Công nghệ, Đại học Quốc gia Hà Nội tham gia giảng dạy chia sẻ kinh nghiệm quý báu cho tập thể học viên khóa nói chung cá nhân tơi nói riêng Tơi xin cảm ơn tới thầy anh chị thường xuyên giúp đỡ, trao đổi, góp ý vấn đề khoa học liên quan tới luận văn Trên tất cả, xin gửi lời biết ơn tới bố mẹ, gia đình người thân Bố mẹ phải làm việc vất vả tạo hội điều kiện thuận giúp tơi tồn tâm toàn ý thực luận văn chọn đường Một lần nữa, tơi xin chân thành cảm ơn! Hà Nội, tháng năm 2015 Học viên Đặng Hải An LỜI CAM ĐOAN Tôi xin cam đoan cơng trình riêng tơi Các số liệu, kết nêu Luận văn vô trung thực, chưa công bố cơng trình khác Tơi xin cam đoan thơng tin trích dẫn Luận văn rõ nguồn gốc Học viên thực Luận văn ĐẶNG HẢI AN MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC Danh mục ký hiệu chữ viết tắt Danh mục bảng Danh mục hình vẽ, đồ thị MỞ ĐẦU 10 CHƢƠNG TỔNG QUAN VỀ NỀN TẢNG HỖ TRỢ LẬP TRÌNH ỨNG DỤNG WEB (WEB APPLICATION FRAMEWORK) 12 1.1 Framework 12 1.2 Web Application Framework 12 1.3 PHP Framework 14 1.4 Mơ hình Model - View - Controller (MVC) 14 1.4.1 Lịch sử mơ hình MVC 14 1.4.2 Khái niệm mơ hình MVC 15 1.4.3 Các thành phần Web Framework 16 1.4.3.1 Model 16 1.4.3.2 View 17 1.4.3.3 Controller 18 CHƢƠNG XÂY DỰNG THỬ NGHIỆM FRAMEWORK BẰNG NGÔN NGỮ PHP 20 2.1 Tổng quan PHP Framework 20 2.2 Kiến trúc Framework thử nghiệm 24 2.2.1 Tổng quát hệ thống thư mục Framework thử nghiệm 24 2.2.2 Các thành phần Framework thử nghiệm 26 2.2.2.1 Quy trình xử lý yêu cầu 26 2.2.2.2 Các thành phần 26 2.2.2.3 Các khái niệm sử dụng framework thử nghiệm 28 2.3 Hệ thống lớp thư viện hàm hỗ trợ Framework thử nghiệm 34 2.3.1 Các lớp thư viện 34 2.3.1.1 Email (System/Lib/Email.php) 34 2.3.1.2 Database library (system/Database/mysql.php) 35 2.3.1.3 Pagination(System/Lib/Pagination.php) 36 2.3.1.4 Session class (System/Lib/Session.php) 36 2.3.1.5 Upload class (System/Lib/upload.php) 36 2.3.1.6 ExportDataExcel class (System/Lib/ExportDataExcel.php) 37 2.3.2 Các hàm hỗ trợ 37 2.3.2.1 Array Helper 37 2.3.2.2 Text Helper 38 2.3.2.3 exporttoexcel helper 38 CHƢƠNG XÂY DỰNG ỨNG DỤNG “QUẢN LÝ ĐĂNG KÝ SỬ DỤNG PHỊNG THỰC HÀNH MÁY TÍNH TRƢỜNG ĐẠI HỌC HẢI DƢƠNG” SỬ DỤNG FRAMEWORK THỬ NGHIỆM 40 3.1 Giới thiệu quy trình quản lý sử dụng phịng thực hành 40 3.2 Phân tích nhu cầu 40 3.3 Thiết kế hệ thống 41 3.3.1 Biểu đồ Use Case 41 3.3.2 Biểu đồ chi tiết lớp 43 3.4 Ứng dụng quản lý phòng thực hành 45 KẾT LUẬN 49 TÀI LIỆU THAM KHẢO 51 DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT STT 10 11 Từ viết tắt CSS HTTP MVC HTML UI KDE SQL URL XHTML I/O PHP Ý nghĩa Cascading Style Sheet HyperText Transfer Protocol Model View Controller HyperText Markup Language User Interface K Desktop Environment Structured Query Language Uniform Resource Locator Extensible HyperText Markup Language Input/Output Personal Home Page DANH MỤC CÁC BẢNG Bảng 1.1 Vai trò hệ thống thư mục Framework thử nghiệm 24 Bảng 3.1 Danh mục Lớp, phòng ban 43 Bảng 3.2 Danh mục phòng thực hành 44 Bảng 3.3 Danh mục máy/thiết bị phòng thực hành 44 Bảng 3.4 Đăng ký phòng thực hành 45 DANH MỤC HÌNH VẼ, ĐỒ THỊ Hình 1.1 Mơ hình MVC 15 Hình 1.2 Biểu đồ chuỗi MVC đơn giản 17 Hình 2.1 Mơ hình Model – View – Controller Zend Framework 20 Hình 2.2 Cấu trúc thư mục Zend Framework 21 Hình 2.3 Cấu trúc hệ thống thư mục Framework thử nghiệm 25 Hình 2.4 Quy trình xử lý HTTP Request Framework thử nghiệm 26 Hình 3.1 Biểu đồ Use Case tác nhân mối quan hệ tác nhân 41 Hình 3.2 Biểu đồ Use Case theo hướng chức tác nhân Admin 42 Hình 3.3 Biểu đồ Use Case theo hướng chức tác nhân Giảng viên 42 Hình 3.4 Biểu đồ Use Case theo hướng chức tác nhân Sinh viên 42 Hình 3.5 Biểu đồ Use Case tích hợp hệ thống phụ 43 Hình 3.6.Giao diện đăng nhập hệ thống 45 Hình 3.7 Giao diện đăng nhập thành công với quyền Admin 46 Hình 3.8 Giao diện cập nhật lớp học trường 46 Hình 3.9 Giao diện cập nhật thiết bị phòng máy 47 Hình 3.10 Giao diện cập nhật phịng thực hành trường 47 Hình 3.11 Giao diện đăng ký lịch thực hành phòng máy 48 Hình 3.12 Giao diện xem lịch thực hành phòng máy 48 10 MỞ ĐẦU Lý chọn đề tài Trong năm gần đây, ứng dụng web lớn liên tục tạo ra, đánh dấu bước phát triển nhảy vọt công nghệ giới lập trình Các tảng hỗ trợ lập trình xây dựng hàng loạt nhằm mục đích cải thiện tốc độ thực thi nâng cao tính bảo mật cho ứng dụng web Các tảng hỗ trợ lập trình ứng dụng (application framework) chứa đựng kinh nghiệm nhà kiến trúc phần mềm sau nhiều năm chiêm nghiệm giới lập trình Framework hỗ trợ lập trình làm cho phát triển ứng dụng trở nên trôi chảy hơn, cách cung cấp cấu trúc để xây dựng ứng dụng Hay nói cách khác framework giúp thúc đẩy nhanh chóng q trình phát triển ứng dụng, giúp tiết kiệm thời gian, tăng ổn định cho ứng dụng, tái sử dụng lại thành phần Ngoài framework cịn giúp người bắt đầu xây dựng ứng dụng ổn định nhờ việc tương tác xác Database, mã giao diện cách riêng biệt Điều cho phép dành nhiều thời gian để tạo ứng dụng web, phí thời gian viết đoạn mã lặp lại project Vì với mong muốn làm giảm thời gian phát triển ứng dụng web, chọn đề tài “Xây dựng framework hỗ trợ lập trình web” Nội dung đề tài, vấn đề cần giải Nghiên cứu sở lý luận tảng hỗ trợ lập trình ứng dụng web (Web application framework) Khái niệm, mục đích tạo Framework, đặc điểm chung Framework phổ biến Từ đưa kết luận thực tế việc xây dựng Framework Tìm hiểu khái niệm tính phổ biến ứng dụng web, so sánh ưu điểm nhược điểm web tĩnh web động để đưa ưu điểm vượt trội web động Rút khái niệm đặc điểm Web application Framework, Ngoài luận văn đưa ứng dụng mơ hình MVC, giới thiệu số PHP Framework phổ biến sử dụng mơ hình MVC CakeFramework, Zend Framework, CodeIgniter hay Symfony Xây dựng thử nghiệm framework ngôn ngữ PHP dựa mã nguồn mở Trước giới thiệu Framework thử nghiệm xây dựng tác giả luận văn đưa Zend Framework, phân tích chức thành phần Dựa kiến thức thu phân tích Zend Framework, tác giả xây dựng PHP Framework thử nghiệm, đưa kiến trúc Framework thử nghiệm, với hệ thống thư mục thành phần Framework thử nghiệm 37 Những thông tin dạng mảng (array), bao gồm thông tin ví dụ sau: Array ( [file_name] => [file_type] => [file_path] => [orig_name] => [file_extension] [file_size] => [image_width] => [image_height] => [image_type] => ) your_pic.jpg image/jpeg /path/to/your/upload/ mypic.jpg => jpg 22.2 800 600 jpeg 2.3.1.6 ExportDataExcel class (System/Lib/ExportDataExcel.php) Lớp cung cấp thư viện export bao gồm có nhiều định dạng Ví dụ export excel (.xls) hay file định dạng tsv hay csv Trong có hàm: + ExportData: có nhiệm vụ add Header theo định dạng liệu cần export Nhiệm vụ add dịng liệu vào bảng + ExportDataExcel, ExportDataCSV, ExportDataTSV: quy định loại liệu cần xuất header để phù hợp với cấu trúc file (ở liệu dạng Excel, TSV CSV) 2.3.2 Các hàm hỗ trợ 2.3.2.1 Array Helper Nằm file system/helpers/array_helper.php Bao gồm hàm có chức hỗ trợ làm việc, xử lý mảng Hàm element(): Cho phép nạp thêm phần tử vào mảng, hàm kiểm tra xem có số mảng ko giá trị tương ứng Nếu giá trị tồn trả lại giá trị đó, giá trị ko tồn trả lại giá trị false, bạn có xác định giá trị mặc định qua ba biến.Ví dụ: $array = array('color' => 'red', 'shape' => 'round', 'size' => ''); echo element('color', $array); // returns "red" echo element('size', $array, NULL); // returns NULL Hàm random_element(): Trả giá trị ngẫu nhiên mảng $ran = array(‘1’, ‘2’, ‘4’); echo random_element($ran); 38 2.3.2.2 Text Helper Bao gồm hàm hỗ trợ làm việc với text Hàm word_cutter(): Cắt xén xâu từ với độ dài mong muốn Ví dụ: $string = "UET is the only Vietnamese university having one among the best 100 students"; $string = word_cutter($string, 4); // Returns: UET is the only… Tham số thứ ba hậu tố thêm vào string, mặc định dấu…(3 chấm) Hàm character_cutter(): Cắt xâu thành ký tự có độ dài xác định Hàm ln đảm bảo tồn vẹn từ nên số ký tự xâu kết sai số khơng đáng kể.Ví dụ: $string = "UET is the only Vietnamese university having one among the best 100 students"; $string = character_cutter($string, 20); // Returns: UET is the only Vietnamese … Tham số thứ ba hậu tố thêm vào xâu, khơng khai báo helper mặc định dấu ba chấm (…) Hàm highlight_code(): Tô màu xâu ký tự $string = highlight_code($string); Hàm sử dụng hàm highlight_string() PHP, màu sử dụng xác định file php.ini Hàm highlight_phrase(): Sẽ highlight cụm từ xâu text, tham số xác định string, tham số thứ hai cụm muốn highlight, tham số thứ ba tham số thứ tư thẻ html mở đóng màu bạn muốn Hàm create_slug(): Khi dùng hàm với tham số chuỗi string, kết trả chuỗi cắt bỏ dấu cách từ chuỗi cũ $title = "Cộng hòa xã hội chủ nghĩa Việt Nam?"; $url_title = url_title($title); // Kết quả: conghoaxahoichunghiavietnam Hàm hữu ích việc tạo URL thân thiện với máy tìm kiếm Chẳng hạn: http://yoursite.com/index.php?ini=dangkyphongmay 2.3.2.3 exporttoexcel helper Bao gồm hàm hỗ trợ việc xuất liệu định dạng khác (.xls, tsv hay csv): 39 Hàm cleandata($str): hàm chuẩn hóa liệu dạng html sang dạng excel Hàm exp($data): gọi hàm để chuẩn hóa liệu sang dạng cần export Các hàm với lớp ExportDataExcel (System/ Lib/ ExportDataExcel.php) có ích việc xuất liệu sở liệu thành file văn (ví dụ xls, hay tsv,.csv…) Muốn sử dụng hàm để xuất liệu Excel (định dạng xls) ta làm đoạn mã sau:

Ngày đăng: 23/09/2020, 22:28

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan