Đăng ký Đăng nhập
Trang chủ Sử dụng framework yii để xây dựng quản lý nhân sự...

Tài liệu Sử dụng framework yii để xây dựng quản lý nhân sự

.DOC
51
402
142

Mô tả:

Xuất phát từ nhu cầu quản lý nhân viên với văn phòng, giảm tải công việc hàng ngày cho người quản lý, ứng dụng này sẽ thực hiện việc quản lý người dùng, thông tin hồ sơ(profile), đăng ký ngày nghỉ (vacation), gửi thông báo, quản lý hợp đồng.
MỤC LỤC LỜI MỞ ĐẦU....................................................................................................................8 CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI.........................................................................9 Tên đề tài: Quản lý nhân sự (Employee System Management )......................................9 1.1. Giới thiệu đề tài:...................................................................................................9 1.2. Mục đích đề tài:..................................................................................................10 CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ.....................................................................11 2.1. Ngôn ngữ lập trình PHP.....................................................................................11 2.1.1. Định nghĩa.......................................................................................................11 2.1.2. Lịch sử phát triển.........................................................................................11 2.2. SQL là chuẩn ngôn ngữ ANSI để truy cập CSDL.............................................15 2.3. Yii Framework...................................................................................................17 2.3.1. Khái quát.....................................................................................................17 2.3.2. Lịch sử.........................................................................................................17 2.3.3. Luồng xử lý logic........................................................................................19 2.3.4. Mô hình MVC.............................................................................................22 2.4. Javascript, jquery..............................................................................................25 2.4.1. Khái quát về Javascript:.............................................................................25 2.4.2. Khái quát về Jquery:...................................................................................25 CHƯƠNG 3: MÔ HÌNH XỬ LÝ....................................................................................27 3.1. Use Case theo Role............................................................................................27 3.1.1. 3.1.1.1. Phân loại user:.............................................................................................27 Role Admin:.............................................................................................28 Trang 1 3.1.1.2. Role Manager...........................................................................................28 3.1.1.3. Role Leader..............................................................................................29 3.1.1.4. Role Ordinary User..................................................................................29 3.2. Sơ đồ chức năng hệ thống..................................................................................31 3.2.1. Chức năng hệ thống....................................................................................31 CHƯƠNG IV: MÔ HÌNH CƠ SỞ DỮ LIỆU.................................................................33 CHƯƠNG V: DEMO SẢN PHẨM.................................................................................34 5.1. Trang đăng nhập.................................................................................................34 5.2. Trang chủ............................................................................................................35 5.3. Quản lý user.......................................................................................................36 5.3.1. Tạo mới một user........................................................................................36 5.3.2. Cập nhật thông tin user...............................................................................37 5.3.3. Xem chi tiết thông tin user..........................................................................38 5.3.4. Thay đổi mật khẩu.......................................................................................38 5.3.5. Hủy kích hoạt user (Deactive user )...........................................................39 5.3.6. Kích hoạt user (Active user).......................................................................39 5.3.7. Quên mật khẩu:...........................................................................................39 5.3.8. Email quên mật khẩu...................................................................................40 5.3.9. Danh sách user và tìm kiếm user................................................................40 5.4. Quản lý profile...................................................................................................41 5.4.1. Update profile..............................................................................................41 5.4.2. Xem chi tiết thông tin profile......................................................................42 5.4.3. Danh sách profile........................................................................................43 Trang 2 5.5. Quản lý phòng ban.............................................................................................44 5.5.1. 5.6. Danh sách phòng ban:.................................................................................44 Quản lý ngày nghỉ:.............................................................................................45 5.6.1. Tạo mới 1 kỳ nghỉ.......................................................................................45 5.6.2. Cập nhật thông tin kỳ nghỉ hoặc hủy kỳ nghỉ.............................................46 5.7. Quản lý tin nhắn.................................................................................................51 5.7.1. Tạo mới tin nhắn.........................................................................................51 5.7.2. Xem chi tiết tin nhắn, thông báo.................................................................52 5.8. Quản lý log.........................................................................................................53 5.9. Quản lý hợp đồng...............................................................................................54 5.9.1. Tạo mới hợp đồng.......................................................................................54 5.9.2. Quản lý hợp đồng........................................................................................55 5.9.3. Ngưng hợp đồng..........................................................................................56 CHƯƠNG VI: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN..............................................57 Kết luận những vấn đề đã làm được:...........................................................................57 Nêu ra những vấn đề sẽ cải tiến và bổ sung trong tương lai.......................................57 Tài liệu tham khảo:..........................................................................................................57 Trang 3 LỜI MỞ ĐẦU “Tin học hóa” không còn là khái niệm mới mẻ trong thời đại hiện nay, tuy nhiên khái niệm đó vẫn chưa được ứng dụng trên toàn bộ các lĩnh vực, cơ quan, tổ chức. Dù các sản phẩm công nghệ được đưa ra thị trường rất nhiều, nhưng còn nhiều lý do cơ quan, tổ chức chưa áp dụng rộng rãi như do kinh phí đầu tư, nhân lực phát triển, thói quen người sử dụng ……. Trong lĩnh vực quản lý, các phần mềm ứng dụng không chỉ giúp con người quản lý sản phẩm, tin tức, doanh thu… mà còn có thể quản lý con người.Việc quản lý con người sẽ giúp người quản lý giảm tải việc phải lưu nhớ những lời nói miệng, hoặc những giấy tờ tràn ngập bàn làm việc. Trang 4 CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI Tên đề tài: Quản lý nhân sự (Employee System Management ) 1.1. Giới thiệu đề tài: Xuất phát từ nhu cầu quản lý nhân viên với văn phòng, giảm tải công việc hàng ngày cho người quản lý, ứng dụng này sẽ thực hiện việc quản lý người dùng, thông tin hồ sơ(profile), đăng ký ngày nghỉ (vacation), gửi thông báo, quản lý hợp đồng. 1.2. Mục đích đề tài: - Quản lý thông tin người dùng, thông tin hồ sơ - Quản lý ngày nghỉ - Gửi thông báo trong hệ thống - Quản lý hợp đồng - Quản lý các hành động tác động vào hệ thống - Tìm kiếm thông tin user, xuất excel danh sách user - Tìm kiếm thông tin hợp đồng, xuất excel danh sách hợp đồng - Tìm kiếm thông tin hồ sơ nhân viên, xuất file excel danh sách, xuất file pdf chi tiết hồ sơ nhân viên - Thay đổi mật khẩu, quên mật khẩu - Tính toán lương từ Net sang Gross và ngược lại - Tìm hiểu framework Yii, cơ sở dữ liệu Mysql Trang 5 CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ 2.1. Ngôn ngữ lập trình PHP 2.1.1. Định nghĩa - PHP là chữ viêt tát của “ Personal Home Page” do Rasmus Lerdorf tạo ra năm 1994. Vi tính hữu dụng và khả năng phát triên, PHP bắt đầu được sử dụng trong môi trường chuyên nghiệp và nó trở thành 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. - PHP là mã nguồn mở do đó tất cả các đặc tính đều miễn phí, vì vậy mà có một cộng đồng rộng lớn luôn cải tiến và khắc phục lỗi. 2.1.2. Lịch sử phát triển  PHP/FI 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 1995, 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 các cơ sở dữ liệu 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 đị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. PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay. Nó có các biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML Trang 6 nhúng. Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán. Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người. PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0.  PHP 3 PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó. Lý do chính mà họ đã tạo ra phiên bản này là do nhận họ thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà họ đang xúc tiến trong một dự án của trường đại học. Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0. Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó. Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới. Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0. Các tính năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán khác. Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mối liên hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI Trang 7 2.0 gợi nhắc. Nó đã được đặt tên ngắn gọn là 'PHP', một kiểu viết tắt hồi quy của "PHP: Hypertext Preprocessor". Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục ngàn người sử dụng và hàng chục ngàn Web site báo cáo là đã cài nó. Vào thời kì đỉnh cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có trên mạng Internet. PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm.  PHP 4 Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP. Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả. Một động cơ mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong tên của Zeev và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu tiên được giới thiệu vào giữa năm 1999. PHP 4.0, dựa trên động cơ này, và đi kèm với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời. Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới. Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet. Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người khác tham gia vào các dự án có liên quan đến PHP như PEAR, Trang 8 PECL và tài liệu kĩ thuật cho PHP. PHP 5 Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển PHP tự mãn.Cộng đồng php đã nhanh chóng giúp họ nhận ra những yếu kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu. Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0. Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn Zeev liên quan đến phiên bản này thì đã có mặt trên mạng Internet vào khoảng tháng 7 năm 2002. Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm. Đó cũng là phiên bản đầu tiên của Zend Engine 2.0. Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới. PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP. Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các câu truy vấn. Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiến trong nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng những tính năng và cải tiến mới trong SOAP, streams và SP.  PHP 6 Phiên bản PHP 6 được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ: hỗ trợ namespace (hiện tại các nhà phát triển vẫn chưa công bố rõ ràng về vấn đề này); hỗ trợ Unicode; sử dụng PDO làm API Trang 9 chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thành thư viện PECL...MySQL 2.2. SQL là chuẩn ngôn ngữ ANSI để truy cập CSDL.  SQL là viết tắt của Structured Query Language – là một hệ quản trị cơ sở dữ liệu mở, hoàn toàn miễn phí. MySQL được sử dụng phổ biến trong lập trình website động với PHP, chúng ta hay gọi chung là lập trình PHP & MySQL. MySQL cung cấp cho chúng ta cách truy vấn, thao tác với dữ liệu tương tự như SQL nhưng ở mức độ đơn giản hơn.  Cấu trúc dữ liệu MySQL : - MySQL lưu trữ dữ liệu theo dạng bảng. - Mỗi cơ sở dữ liệu bao gồm 1 hoặc nhiều bảng - Mỗi bảng chứa một hoặc nhiều cột để lưu trữ giữ liệu, cột có thuộc tính như: kiểu dữ liệu là gì, khóa chính, chiều dài dữ liệu, … - Dòng là tập hợp giá trị của tất cả các cột trong bảng, một bảng thường bao gồm rất nhiều record.  Một số kiểu dữ liệu phổ biến thường được sử dụng trong MySQL Kiểu dữ liệu Mô tả INT Định dạng kiểu số nguyên có chiều dài từ 0 – 4294967214 Float Định dạng số thực có chiều dài 4 bytes Double Định dạng số thực có chiều dài 8 bytes Trang 10 Char Định dạng text chiều dài từ 0 – 255 Varchar Định dạng text có chiều dài từ 0 – 255 Text Định dạng text có chiều dài từ 0 – 65535 Longtext Định dạng text có chiều dài 0 – 4294967214 Date Lưu trữ thời gian theo định dạng YYYY-MM-DD DateTimeTimeStamp Lưu trữ thời gian theo định dạng YYYY-MM-DD HH:MM:SS decimal Lưu trữ số thực theo đinh dạng chứa dấu “,”  Có các tính năng sau: o Cho phép truy cập dữ liệu. o Thực hiện các câu truy vấn o Tạo mới, cập nhật, delete dữ liệu 2.3. Yii Framework 2.3.1. Khái quát - Yii là PHP framework hỗ trợ tốt cho việc phát triển Web 2.0 - Yii giúp nhà phát triển xây dựng những ứng dụng phức tạp với thời gian nhanh nhất - Yii được phát âm là Yee hoặc [ji:], Yii là viết tắt của “Yes It Is!”. Ý nghĩa của nó là “Is it fast? ... Is it secure? ... Is it professional? ... Is it right for my next project? ... Yes, it is!” - Yii hoàn toàn miễn phí, là ứng dụng Web mã nguồn mở được phát triển bằng ngôn ngữ PHP5. Yii giúp cho việc phát triển ứng dụng Web tuân theo một Trang 11 khuôn khổ nhằm đảm bảo tính hiệu quả, tính mở rộng, và tính bảo trì của sản phẩm. - Tối ưu hiệu suất, Yii là sự lựa chọn hoàn hảo cho các dự án có quy mô. Yii cho phép nhà phát triển kiểm soát toàn bộ cấu hình. Yii cung cấp các công cụ giúp kiểm tra và sửa lỗi ứng dụng dễ dàng. 2.3.2. Lịch sử - Yii được sáng lập bởi Qiang Xue, người trước đây đã phát triển và bảo trì Prado framework. Dự án Yii được bắt đầu từ ngày 01/01/2008 và sau gần một năm phát triển, ngày 03/12/2008 Yii 1.0 được chính thức phát hành. Ý tưởng - Yii kết hợp nhiều ý tưởng từ các framework và các ứng dựng Web nổi tiếng khác. Dưới đây là một số ý tưởng Yii đã tham khảo: o Prado: là nguồn gốc chủ yếu cho ý tưởng phát triển Yii, bao gồm: component và mô hình lập trình hướng sự kiện, các lớp database, mô hình kiến trúc ứng dụng, i18n và l10n, và nhiều tính năng khác o Ruby on Rails: Yii kế thừa quy ước về cấu hình o jQuery: được tích hợp trong Yii framework o Symfony: Yii kế thừa ý tưởng về filter và kiến trúc plug-in o Joomla: Yii kế thừa cách thiết kế module và message translation - Là framework ngôn ngữ PHP, mà điểm nhấn của nó là khả năng mở rộng, khả năng tái sử dụng. - Khả năng tái sử dụng và mở rộng của Yii rất cao. Yii là 1 Framework hoàn toàn hướng đối tượng. Mọi thứ trong Yii đều có thể tái sử dụng và mở rộng rất dễ dàng. - Yii hỗ trợ trên tất cả các DBMS bởi PDO (PHP Data Object). - Hiệu suất xử lý của Framework Yii hiệu quả cao. Biểu đồ dưới đây cho thấy hiệu quả hơn hẳn so với các Framework PHP khác. RPS là viết tắt của Trang 12 “Request per second” nhằm mô tả việc làm mới ứng dụng có thể xử lý trong mỗi giây. Nguồn www.phpide.com 2.3.3. Luồng xử lý logic Trang 13 Về cơ bản, cách làm việc của Yii được thực hiện qua các bước sau: 1. Yêu cầu (request) của người dùng được trình duyệt gửi cho Web server. Web server chuyển tiếp request cho index.php xử lý. Index.php có chức năng tạo một thực thể Application và thực thi nó 2. Application tạo ra các App Component (App Component là các thành phần của ứng dụng, vd: UrlManager, HttpRequest) 3. App Component gửi các thành phần của mình cho Application quản lý 4. Application xác định các controller và action từ request và gửi chúng cho UrlManager quản lý. Tiếp đến Application tiến hành thực thi controller 5. Controller có thể tạo ra các model để xử lý dữ liệu 6. Model gửi dữ liệu cho Controller 7. Controller gửi các biến, các thể hiện của model cho View 8. View tạo ra các Widget 9. View thực hiện trình bày trang web Trang 14 Đôi khi chúng ta cần thay đổi workflow để tùy biến trang web. Yii cho phép chúng ta làm được điều này qua workflow sau: Yii của Application là để giải quyết các request của người dùng. Gửi chúng cho controller thích hợp để tiếp tục xử lý. Application là trung tâm quản lý toàn bộ cấu hình của ứng dụng. Các công việc chủ yếu của Application là: - Chuẩn bị khởi tạo Application (Pre-initializes the application) - Thiết lập autoloader và điều khiển error (Set up class autoloader and error handling) - Đăng ký các App Component côt lõi (Register core application components) - Nạp cấu hình ứng dụng (Load application configuration) - Khởi tạo Application (Initialize the application) - Raise onBeginRequest event - Xử lý request của người dùng (Process the user request) Trang 15 - Giải quyết request của người dùng (Resolve the user request) - Tạo và thực thi Controller (Create & Run controller) - Raise onEndRequest event Để cấu hình Application ta sử dụng file (hoặc array) để khởi tạo giá trị của các thuộc tính. File cấu hình được chứa trong thư mục protected/config/main.php của ứng dụng. Cấu trúc như sau: Trang 16 2.3.4. Mô hình MVC MVC ( model-view-controller) MVC là một mô hình kiến trúc phần mềm được sử dụng phổ biến trong phát triển ứng dụng Web. Mục đích chính của MVC là:  Tách riêng các thành phần logic với giao diện người dùng  Giúp cho việc thay đổi các thành phần dễ dàng mà không làm ảnh hưởng đến các thành phần khác  Dễ dàng phát triển và bảo trì ứng dụng Model Là thể hiện của một cấu trúc dữ liệu cơ bản. Model được sử dụng để lưu trữ dữ liệu và các quy tắc business liên quan. Model đại diện cho một đối tượng dữ liệu duy nhất. Nó có thể là một row trong database table hoặc là một form input của người dùng. Mỗi trường (field) của object là một thuộc tính (attribute) của model. View Trang 17 View chủ yếu là các yếu tố giao diện người dùng. Chịu trách nhiệm trình bày các thể hiện của model ở dạng mà người dùng mong muốn. Nó có thể chứa các câu lệnh (PHP, ASP, …) nhưng chỉ với mục đích trình bày. Controller Công việc chủ yếu của controller là điều kiển, xử lý các request của người dùng. Liên kết model với view. Kiểm soát các response. Best MVC Practices Một mô hình MVC tốt thì cần phải thực hiện đúng các nguyên tắc sau: Model Nên - Chứa các thuộc tính đại diện cho các dữ liệu cụ thể - Chứa các business logic nhằm đảm bảo các dữ liệu đáp ứng được yêu cầu thiết kế - Có thể chứa các mã thao tác với database Tránh - Sử dụng $_GET, $_POST hoặc các biến trực tiếp gắn liến với request của người dùng Trang 18 - Nhúng các mã HTML hoặc các mã trình diễn khác (echo, …) View Nên - Chứa các mã trình diễn, như HTML, PHP, ASP,… đơn giản để thể hiện, định dạng dữ liệu - Có thể truy cập các thuộc tính (property) và phương thức (method) của controller và model nhưng chỉ với mục đích trình bày Tránh - Chứa các mã truy vấn dữ liệu - Truy cập trực tiếp đến $_GET, $_POST, hoặc các biến tương tự khác đại diện cho request của người dùng Controller Nên - Có thể truy cập $_GET, $_POST và các biến tương tự khác đại diện cho request của người dùng - Có thể tạo ra các thực thể (instance) của model Tránh 2.4. Chứa các câu lệnh truy vấn SQL Chứa bất kỳ mã HTML hoặc các ngôn ngữ trình diễn khác Javascript, jquery 2.4.1. Khái quát về Javascript:  Đặc tính của ngôn ngữ java script: JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trình kịch bản dựa trên đối tượng được phát triển từ các ý niệmnguyên mẫu. Ngôn ngữ này được dùng rộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm sẵn trong các ứng dụng. Nó vốn được phát triển bởi Brendan Eich tại Hãng truyền thông Netscapevới cái tên Trang 19 đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cuối cùng thành JavaScript. Giống Java, JavaScript có cú pháp tương tự C, nhưng nó gần với Self hơn Java. .js là phần mở rộng thường được dùng cho tập tin mã nguồn JavaScript.  Javascript là một ngôn ngữ có đặc tính: • Đơn giản. • Động (Dynamic). • Hướng đối tượng (Object Oriented).  Ứng dụng: JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp phát triển từ C. Giống như C, JavaScript có khái niệmtừ khóa, do đó, JavaScript gần như không thể được mở rộng. Thiết kế trang web động và một số hiệu ứng hình ảnh thông qua DOM. JavaScript được dùng để thực hiện một số tác vụ không thể thực hiện được với chỉ HTML như kiểm tra thông tin nhập vào, tự động thay đổi hình ảnh,kiểm tra sự kiện tác động lên website... 2.4.2. Khái quát về Jquery:  JQuery chính là một thư viện kiểu mới của Javascript giúp đơn giản hóa cách viết Javascript và tăng tốc độ xử lý các sự kiện trên trang web.JQuery thêm tương tác Ajax vào trong trang web của bạn.JQuery được thiết kế để thay đổi cách viết Javascript của bạn.  JQuery là một thư viện Java Script mới với rất nhiều functions và classes được dựng sẵn. JQuery nhanh chóng, ngắn gọn giúp việc duyệt các tài liệu HTML, gỡ rỗi sự kiện, thực hiện các hoạt hình và bổ sung tương tác Ajax vào Website trở lên đơn giản. jQuery được thiết kế để thay đổi cách chúng ta viết JavaScript. Đặc biệt Jquery hỗ trợ mạnh khả năng làm việc với API. • Nếu chuyên về thiết kế web và biết một chút về JavaScript thì khi dùng jQuery sẽ thấy dễ dàng và rất tiện lợi. • (Chỉ với 10 dòng lệnh JQuery bạn có thể thay thế cả 20 dòng lệnh DOM JavaScript chán ngắt cũ kỹ mà xưa nay bạn vẫn từng viết). Trang 20
- Xem thêm -

Tài liệu liên quan