1. Trang chủ
  2. » Luận Văn - Báo Cáo

XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÂN SỰ TRÊN NỀN FRAMEWORK YII

57 589 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 57
Dung lượng 1,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HCM

KHOA CÔNG NGHỆ THÔNG TIN

Trang 2

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HCM

KHOA CÔNG NGHỆ THÔNG TIN

XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÂN SỰ TRÊN NỀN FRAMEWORK

YII.

LUẬN VĂN TỐT NGHIỆP

GIÁO VIÊN HƯỚNG DẪN

Ths NGUYỄN LƯƠNG ANH TUẤN

NIÊN KHÓA 2011-2013

LỜI CẢM ƠN

Trang 3

Em xin gửi lời cảm ơn chân thành sâu sắc nhất đến tới Ban Giám hiệu Nhà trườngcùng quý thầy cô Khoa Công Nghệ Thông Tin Trường Đại học Giao thông Vận tảiTP.HCM đã chỉ bảo và truyền đạt cho em những kiến thức quý báu trong suốt hai nămhọc vừa qua.

Đặc biệt em xin chân thành cám ơn thầy giáo Nguyễn Lương Anh Tuấn giảngviên bộ môn CNTT Trường Đại học Giao Thông Vận Tải TP HCM đã tận tình giúp đỡ

em trong quá trình thực hiện đề tài tốt nghiệp

Em cũng gửi lời cám ơn sâu sắc đến những người thân trong gia đình, các anh chịnơi làm việc và bạn bè đã ủng hộ, giúp đỡ và động viên em trong những lúc khó khăn,cũng như trong suốt những năm học vừa qua

Mặc dù đã cố gắng hoàn thành đề tài với tất cả sự nổ lực của bản thân, nhưngchắc chắn không tránh khỏi những thiếu sót nhất định, kính mong sự cảm thông và tậntình chỉ bảo của quý Thầy Cô

Em xin chúc trường Đại học Giao thông Vận tải thành phố Hồ Chí Minh trởthành một đơn vị giáo dục vững manh, đào tạo ra nhiều kỹ sư tài năng cho đất nước

Cuối cùng em xin kính chúc toàn thể quý thầy cô nhà trường dồi dào sức khoẻ,gặp nhiều thuân lợi trong công tác cũng như trong cuộc sống

Em xin chân thành cám ơn

TP HỒ CHÍ MINH, Ngày tháng năm 2013

Sinh viên thực hiệnNguyễn Thị Tuyền

NHẬN XÉT CỦA GIÁO VIÊN

Trang 4

MỤC LỤC MỤC LỤC 4

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: 9

Trang 5

2.1.Ngôn ngữ lập trình PHP 10

2.1.1.Định nghĩa 10

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 14

2.3.Yii Framework 16

2.3.1.Khái quát 16

2.3.2.Lịch sử 17

2.3.3.Luồng xử lý logic 18

2.3.4.Mô hình MVC 22

2.4.Javascript, jquery 24

2.4.1.Khái quát về Javascript: 24

2.4.2.Khái quát về Jquery: 25

CHƯƠNG 3: MÔ HÌNH XỬ LÝ 26

3.1.Use Case theo Role 27

3.1.1.Phân loại user: 27

3.1.1.1.Role Admin: 27

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

Trang 6

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

5.5.Quản lý phòng ban 44

5.5.1.Danh sách phòng ban: 44

5.6.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

Trang 7

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

Model

View

Controller

Trang 8

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ảnphẩ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

Xuất phát từ hiện trạng nơi công ty em làm việc, em xin phát triển một ứng dụng quản

lý nhân sự “ xây dựng ứng dụng quản lý nhân sự trên nền framework Yii”.

Do kiến thức và kinh nghiệm của bản thân còn hạn chế nên việc thực hiện không

Trang 9

trong bộ môn công nghệ thông tin trường Đại học Giao Thông Vận Tải cùng toàn thểbạn bè để đề tài em càng hoàn thiện và ứng dụng thực tiễn một cách tốt nhất.

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

Trang 10

- 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

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ữ

Trang 11

- 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 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à

Trang 12

 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ớicá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 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

Trang 13

 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, 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

Trang 14

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ểmtra 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ácbản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3 Mặc dù coi đây là phiên bảnsả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ựchiệ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 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

Trang 15

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 –

4294967214Float Đị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

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

Trang 16

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:SSdecimal 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 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

Trang 17

- 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ộtnă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

“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

Trang 18

Nguồn www.phpide.com

2.3.3 Luồng xử lý logic

Trang 19

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

Trang 20

9 View thực hiện trình bày trang web

Đô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 chocontroller 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)

Trang 21

- Raise onBeginRequest event

- Xử lý request của người dùng (Process the user request)

- 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 22

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

Trang 23

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

- 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

Trang 24

- 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

- Nhúng các mã HTML hoặc các mã trình diễn khác (echo, …)

- 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

- 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

2.4 Javascript, jquery

2.4.1 Khái quát về Javascript:

 Đặc tính của ngôn ngữ java script:

Trang 25

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 đầ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.

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

Trang 26

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)

CHƯƠNG 3: MÔ HÌNH XỬ LÝ

Trang 27

3.1 Use Case theo Role

3.1.1 Phân loại user:

Hệ thống có hai loại user:

 Supper Admin: tài khoản dùng để quản trị hệ thống, không phải là một nhân viên, user không thể delete (Table user: type=1)

 User: tài khoản nhân viên của công ty, phân thành các role sau: admin, manager,leader, ordinary user (Table user: type=0)

3.1.1.1 Role Admin:

- Tạo mới, xem, cập nhật, quản lý, hủy kích hoạt, kích hoạt thông tin (tài khoản đăng nhập vào hệ thống, thông tin cá nhân, profile, upload avatar - CV,

Trang 28

download CV, hợp đồng, ngày phép) của các user dưới quyền (manager, leader, ordinary user).

- Xem, cập nhật thông tin (tài khoản đăng nhập vào hệ thống và thông tin cá nhân, profile, upload avatar - CV, download CV) của chính mình

- Tạo mới, xem, cập nhật, quản lý hợp đồng của các user dưới quyền (manager, leader, ordinary user)

- Tạo mới, xem, cập nhật, quản lý, hủy, xác nhận ngày nghỉ của chính mình

- Thay đổi mật khẩu của chính mình

- Tìm kiếm thông tin user , ngày nghỉ, hợp đồng…

Ngày đăng: 16/10/2016, 02:26

HÌNH ẢNH LIÊN QUAN

3.2. Sơ đồ chức năng hệ thống - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÂN SỰ TRÊN NỀN FRAMEWORK YII
3.2. Sơ đồ chức năng hệ thống (Trang 31)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w