Tải bản đầy đủ (.docx) (49 trang)

Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.94 MB, 49 trang )

TRƯỜNG
CAO
THÔNG
TIN
Xây dựng website
bán ĐẲNG
laptop quaCÔNG
mạng dựaNGHỆ
trên mô hình
MVC trong
PHP
HỮU NGHỊ VIỆT - HÀN
KHOA: CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN TỐT NGHIỆP
NGÀNH: LẬP TRÌNH MÁY TÍNH
ĐỀ TÀI
“XÂY DỰNG WEBSITE MUA BÁN LAPTOP QUA MẠNG DỰA TRÊN MÔ
HÌNH MVC TRONG PHP”

Sinh Viên Thực Hiện: Phạm Thị Mỹ Huyền
Lớp: CCLT07B
Niên khóa: 2013-2016
Họ tên GVHD: ThS.Nguyễn Thanh Cẩm

Đà Nẵng, tháng 06 năm 2016

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

1



Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

LỜI CẢM ƠN
Em xin chân thành cảm ơn quý thầy cô Trường Cao Đẳng Công Nghệ Thông Tin
Hữu Nghị Việt Hàn, đã truyền đạt kiến thức cho em, cũng như toàn thể các bạn sinh viên
trong 3 năm qua. Với vốn kiến thức tiếp thu được trong quá trình học tập, không chỉ là
nền tảng cho quá trình nghiên cứu đề tài này, mà còn là hành trang quý báu để em có thể
bước vào đời một cách vững chắc và tự tin.
Em cũng xin gửi lời cảm ơn đến thầy Nguyễn Thanh Cẩm, giảng viên chuyên ngành
Lập trình máy tính – Khoa Công nghệ thông tin bằng những kiến thức chuyên môn
chuyên sâu đã tận tình hướng dẫn, giúp đỡ em trong suốt quá trình thực tập cũng như
hoàn thành tốt đồ án tốt nghiệp của mình.
Và qua đây, em cũng xin gửi lời cảm ơn đến gia đình của em. Những người đã luôn
bên em và ủng hộ em, luôn động viên, chia sẽ và là động lực của em giúp em có thể phấn
đấu để vượt qua mọi khó khăn trong thời gian qua.
Bên cạnh đó, em cũng xin cảm ơn đến các anh chị khóa trước, các anh chị tại Công
Ty TNHH Thương Mại VISNAM đã tận tình hướng dẫn, giúp đỡ và tạo mọi điều kiện
thuận lợi nhất trong thời gian em tìm hiểu thực tế tại đơn vị.
Và cuối cùng em xin gửi lời cảm ơn chân thành đến toàn thể thầy cô trong khoa
Công nghệ thông tin cùng với ban giám hiệu nhà trường - Trường Cao Đẳng Công Nghệ
Thông Tin Hữu Nghị Việt - Hàn đã cung cấp những kiến thức cần thiết và tạo mọi điều
kiện tốt nhất để em có thể hoàn thành tốt đồ án tốt nghiệp này. Em xin kính chúc thầy
(cô) và gia đình dồi dào sức khỏe, hạnh phúc và thành công !
Em xin chân thành cảm ơn!
Sinh viên thực hiện

Phạm Thị Mỹ Huyền

LỜI MỞ ĐẦU

 Lý do chọn đề tài

Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một
trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

2


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

chức, cũng như của các công ty, nó đóng vai trò hết sức quan trọng, có thể tạo ra
những bước đột phá mạnh mẽ.
Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử,
công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt
chinh phục hết đỉnh cao này đến đỉnh cao khác. Mạng Internet là một trong những
sản phẩm có giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể
thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu.
Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sử
dụng: chỉ cần có một máy tính kết nối internet và một dòng dữ liệu truy tìm thì gần
như lập tức, cả thế giới về vấn đề mà bạn đang quan tâm sẽ hiện ra, có đầy đủ
thông tin, hình ảnh và thậm chí đôi lúc có cả những âm thanh nếu bạn cần…
Bằng internet chúng ta thực hiện công việc với tốc độ nhanh hơn và chi phí
thấp hơn nhiều so với những cách thức truyền thống. Chính điều này đã thúc đẩy
sự khai sinh và phát triển của thương mại điện tử góp phần nâng cao chất lượng
cuộc sống con người.
Trong hoạt động sản xuất, kinh doanh giờ đây thương mại điện tử đã khẳng
định được vai trò xúc tiến và thúc đẩy sự nghiệp phát triển của doanh nghiệp. Đối
với một cửa hàng hay shop, việc quảng bá và giới thiệu sản phẩm mới đáp ứng

được nhu cầu của khách hàng là rất cần thiết. Vì vậy, xây dựng một website chính
là phương pháp hiệu quả nhất. Nó đem lại lợi ích cho cả người sản xuất, doanh
nghiệp và người tiêu dùng, vì nó tiết kiệm chi phí, tiết kiệm thời gian, rút ngắn
khoảng cách giữa các doanh nghiệp và giữa các nước.
Và để viết một trang web một cách nhanh chóng, dễ dàng ít tốn thời gian thì
PHP có thể thực hiện được điều đó. Ngôn ngữ lập trình PHP là một trong những
ngôn ngữ được sử dụng nhiều nhất khi thiết kế web. Không chỉ bởi nó được chia
sẻ và sử dụng miễn phí mà còn ở sự đơn giản nhẹ nhàng và thân thiện của nó đối
với các hệ thống máy chủ, trình duyệt. Tuy nhiên nó khó phân biệt giữa giao diện
và code xử lý, nên ngay trong giao diện lại có lệnh truy vấn sql. Và để tiết kiệm
thời gian và khắc phục nhược điểm của PHP thuần thì PHP Framework là một sự
thay thế. Vì nó giúp lập trình viên giảm thiểu tối đa thời gian phải viết lại những
thao tác cơ bản. Hơn nữa, PHP Framework còn làm cho lập trình viên có nhiều
thời gian nghiên cứu và cập nhật công nghệ mới, bởi họ không mất quá nhiều thời
gian cho việc tìm tòi hay vận dụng những kiến thức mà cơ bản là đã quá nhàm
chán với họ trong các dự án.
MVC chính là ý tưởng của PHP Framework. MVC là 1 mô hình (kiến trúc)
trong lập trình, cho phép tách biệt các mã nghiệp vụ và giao diện thành các phần
riêng biệt, điều này đồng nghĩa với việc ta có thể chỉnh sửa chúng 1 cách riêng lẻ.
Trong cụm từ MVC thì: Model có thể hiểu là phần xử lý các thao tác về nghiệp vụ,

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

3


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

View được hiểu là phần xử lý lớp giao diện, và Controller làm nhiệm vụ lọc các
request được gọi từ user, có chức năng: điều chỉnh, phân luồng các yêu cầu để gọi

đúng Model & View thích hợp. Về cơ bản, MVC chia nhỏ quá trình xử lý của một
ứng dụng, vì thế nên bạn có thể làm việc trên từng thành phần riêng lẻ, trong khi
những thành phần khác sẽ không bị ảnh hưởng tới. Thực chất, điều này giúp đỡ
bạn lập trình PHP nhanh hơn và ít phức tạp hơn.
PHP Framework hiện nay đang được phát triển và được biết đến, nó đem lại
hiệu suất cao. Tuy nhiên, đây là một công nghệ tương đối mới, các bạn sinh viên
cũng ít biết tới mô hình này. Chính vì thế em đã chọn MVC để xây dựng cho đề tài
“Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP”của
mình.
Kết cấu đề tài được chia làm 3 phần:
Chương 1: Cơ sở lý thuyết
Chương 2: Phân tích và thiết kế hệ thống.
Chương 3: Chương trình ứng dụng.
 Mục tiêu và nhiệm vụ nghiên cứu
− Mục tiêu nghiên cứu: Xây dựng website bán laptop qua mạng dựa trên mô hình

MVC với những mục đích sau:
+ Học thêm được kiến thức mới.
+ Nâng cao được khả năng tự học của cá nhân.
+ Áp dụng những kiến thức được học vào thực tế.
+ Tạo nguồn cho những ai cần tìm hiểu về MVC trong PHP.
+ Dễ dàng trong việc mua bán.
+ Cung cấp thông tin chính xác về giá cả của sản phẩm nhằm tăng độ tin
cậy trên thị trường ảo.
− Nhiệm vụ nghiên cứu:
+ Tìm hiểu về những chức năng mà một website bán hàng cần có.
+ Nghiên cứu tài liệu về ngôn ngữ PHP và hệ quản trị cơ sở dữ liệu MySQL.
+ Nghiên cứu về mô hình MVC trong PHP.
 Đối tượng và phạm vi nghiên cứu
− Đối tượng nghiên cứu:

+ Ngôn ngữ php.
+ Mô hình MVC.
+ Hệ quản trị cơ sở dữ liệu mysql.
+ Nhu cầu sử dụng của khách hàng, nhà quản lý.
+ Nghiên cứu về chức năng chính của một website bán hàng.

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

4


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP













Phạm vi nghiên cứu: xây dựng website bán laptop qua mạng dựa trên mô hình
MVC trong PHP với những chức năng cần thiết như trang chủ giới thiệu sản
phẩm, quản lý sản phẩm, tìm kiếm, thanh toán, giỏ hàng…
Phương pháp nghiên cứu
Khảo sát thực tế nhu cầu sử dụng của khách hàng.

Khảo sát về hiện trạng kinh doanh qua mạng hiện nay.
Nghiên cứu lý thuyết về ngôn ngữ php.
Nghiên cứu về mô hình MVC trong PHP.
Phân tích thiết kế hệ thống chương trình.
Tham khảo những tài liệu trên mạng.
Áp dụng những kiến thức đã học, kết hợp với sự hướng dẫn của giáo viên hướng
dẫn để xây dựng website.
Dự kiến kết quả: Website bán laptop qua mạng trên mô hình MVC trong php.
Ý nghĩa khoa học và thực tiễn
MVC trong PHP giúp cho ứng dụng dễ bảo trì, module hóa các chức năng,
và được xây dựng nhanh chóng. MVC tách các tác vụ của ứng dụng thành các
phần riêng lẻ model, view, controller giúp cho việc xây dựng ứng dụng nhẹ nhàng
hơn. Kết quả sẽ làm tài liệu cho những ai muốn tìm hiểu về mô hình MVC.
Và trong thời đại thương mại điện tử đang ngày càng phát triển, việc thành
lập một website mang lại nhiều ý nghĩa như: đỡ tốn thời gian cho người tiêu dùng
cũng như nhà quản lý trong việc tham gia vào hoạt động mua bán hàng.
Bên cạnh đó, quá trình nghiên cứu thực hiện đề tài đã giúp em có nhiều
kinh nghiệm hơn về chuyên ngành mà em học đồng thời giúp em có thể vận dụng
kiến thức đã học trên ghế nhà trường để xây dựng một website tuy chưa hoàn hảo
nhưng có thể ứng dụng vào cuộc sống, em hi vọng sẽ nhận được nhiều ý kiến đóng
góp của Cô, Thầy để chương trình của em có thể hoàn thiện hơn. Em xin chân
thành cảm ơn.

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Khái niệm Internet
Internet là hệ thống mạng gồm các mạng thông tin máy tính, được liên kết với
nhau trên phạm vi toàn thế giới theo giao thức chuẩn TCP/IP thông qua các hệ thống
kênh truyền thông. Internet cung cấp nhiều dịch vụ dùng để tạo duyệt xét, tìm kiếm, truy
cập, xem và trao đổi thông tin trên nhiều lĩnh vực khác nhau, từ nghiên cứu khoa học
đến các hoạt động giải trí, thương mại…

Mạng Internet mang lại rất nhiều tiện ích hữu dụng cho người sử dụng, một trong
các tiện ích phổ thông của Internet là hệ thống thư điện tử (email), trò chuyện trực
SVTH:Phạm Thị Mỹ Huyền – CCLT07B

5


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

tuyến (chat),công cụ tìm kiếm (search engine), các dịch vụ thương mại và chuyển ngân
và các dịch vụ về y tế giáo dục như là chữa bệnh từ xa hoặc tổ chức các lớp học ảo.
Chúng cung cấp một khối lượng thông tin và dịch vụ khổng lồ trên Internet.
1.2 Khái niệm thương mại điện tử
Thương mại điện tử (Còn gọi là E-commerce hay E-Business) là quy trình mua
bán hàng hóa và dịch vụ thông qua các phương tiện điện tử và mạng viễn thông, đặc biệt
là qua máy tính và mạng Internet. Ngày nay người ta hiểu khái niệm thương mại điện tử
thông thường là tất cả các phương pháp tiến hành kinh doanh và các quy trình quản trị
thông qua các kênh điện tử mà trong đó Internet hay ít nhất là các kỹ thuật và giao thức
được sử dụng trong Internet đóng một vai trò cơ bản và công nghệ thông tin được coi là
điều kiện tiên quyết. Một khía cạnh quan trọng khác là không còn phải thay đổi phương
tiện truyền thông, một đặc trưng cho việc tiến hành kinh doanh truyền thống. Thêm vào
đó là tác động của con người vào quy trình kinh doanh được giảm xuống đến mức tối
thiểu. Trong trường hợp này người ta gọi đó là Thẳng đến gia công (Straight Through
Processing). Để làm được điều này đòi hỏi phải tích hợp rộng lớn các các tính năng kinh
doanh.
Lợi ích lớn nhất mà Thương mại điện tử mang lại đó chính là tiết kiệm được chi
phí lớn tạo thuận lợi cho các bên giao dịch. Giao dịch bằng phương tiện điện tử nhanh
hơn là giao dịch bằng truyền thông, ví dụ gửi fax hay thư điện tử thì nội dung thông tin
sẽ đến người nhận nhanh hơn là gửi thư. Các giao dịch qua internet có chi phí rất rẻ, một
doanh nghiệp có thể gửi thư tiếp thị, chào hàng đến hàng loạt khách hàng chỉ với chi phí

giống như gửi cho một khách hàng. Với Thương mại điện tử, các bên có thể tiến hành
giao dịch khi ở cách xa nhau, giữa thành phố với nông thôn, từ nước này sang nước khác
hay nói cách khác là không bị giới hạn bởi không gian địa lý. Điều này cho phép các
doanh nghiệp tiết kiệm chi phí đi lại, thời gian gặp mặt trong khi mua bán. Với người
tiêu dùng họ có thể ngồi tại nhà để đặt hàng, mua sắm nhiều loại hàng hóa dịch vụ thật
nhanh chóng.
1.3 Mô hình MVC
1.2.1 Xuất xứ
Tất cả bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox
PARC ở Palo Alto. Sự ra đời của giao diện đồ họa (Graphical User Interface) và lập trình
hướng đối tượng ( Object Oriented Programming) cho phép lập trình viên làm việc với
SVTH:Phạm Thị Mỹ Huyền – CCLT07B

6


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phương thức
riêng của nó. Không dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn đi xa hơn
khi cho ra đời cái gọi là kiến trúc MVC( viết tắt của Model – Vie w – Controller).
MVC được phát minh tại Xerox Parc vào những năm 70, bởi TrygveReenskaug.
MVC lần đầu tiên xuất hiện công khai là trong Smalltalk-80. Sau đó trong một thời gian
dài hầu như không có thông tin nào về MVC, ngay cả trong tài liệu 80 Smalltalk. Các
giấy tờ quan trọng đầu tiên được công bố trên MVC là “A Cookbook for Using the
Model-View-Controller User Interface Paradigm in Smalltalk – 80”, bởi Glenn Krasner
và Stephen Pope, xuất bản trong tháng 8 / tháng 9 năm 1988.
1.2.2

Kiến trúc mô hình MVC


Trong kiến trúc MVC, một đối tượng đồ họa người dùng(GUI Compone nt) bao
gồm 3 thành phần cơ bản: Model, View, và Controller. Model có trách nhiệm đối với
toàn bộ dữ liệu cũng như trạng thái của đối tượng đồ họa. View chính là thể hiện trực
quan của Model, hay nói cách khác chính là giao diện của đối tượng đồ họa. Và
Controller điều khiển việc tương tác giữa đối tượng đồ họa với người sử dụng cũng như
những đối tượng khác.

Hình 1: Các thành phần của mô hình MVC
Khi người sử dụng hoặc những đối tượng khác cần thay đổi trạng thái của đối
tượng đồ họa, nó sẽ tương tác thông qua Controller của đối tượng đồ họa. Controller sẽ
thực hiện việc thay đổi trên Model. Khi có bất kỳ sự thay đổi nào xảy ra ở Model, nó sẽ
SVTH:Phạm Thị Mỹ Huyền – CCLT07B

7


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

phát thông điệp ( broadcast message) thông báo cho View và Controller biết. Nhận được
thông điệp từ Model, View sẽ cập nhật lại thể hiện của mình, đảm bảo rằng nó luôn là
thể hiện trực quan chính xác của Model. Còn Controller, khi nhận được thông điệp từ
Model, sẽ có những tương tác cần thiết phản hồi lại người sử dụng hoặc các đối tượng
khác.

Hình 2:Mô hình tuần tự của MVC.
Ví dụ:
Lấy ví dụ một GUI Component (thành phần đồ họa người dùng) đơn giản là
Checkbox. Checkbox có thành phần Model để quản lý trạng thái của nó là check hay
uncheck, thành phần View để thể hiện nó với trạng thái tương ứng lên màn hình, và thành

phần Controller để xử lý những sự kiện khi có sự tương tác của người sử dụng hoặc các
đối tượng khác lên Checkbox.
Khi người sử dụng nhấn chuột vào Checkbox, thành phần Controller của
Checkbox sẽ xử lý sự kiện này, yêu cầu thành phần Model thay đổi dữ liệu trạng thái. Sau
khi thay đổi trạng thái, thành phần Model phát thông điệp đến thành phần View và
Controller. Thành phần View của Checkbox nhận được thông điệp sẽ cập nhật lại thể hiện
của Checkbox, phản ánh chính xác trạng thái Checkbox do Model lưu giữ. Thành phần
Controller nhận được thông điệp do Model gởi tới sẽ có những tương tác phản hồi với
người sử dụng nếu cần thiết.

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

8


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP
1.2.3

Đặc điểm của mô hình MVC

Cái lợi ích quan trọng nhất của mô hình MVC là nó giúp cho ứng dụng dễ bảo trì,
module hóa các chức năng, và được xây dựng nhanh chóng. MVC tách các tác vụ của
ứng dụng thành các phần riêng lẻ model, view, controller giúp cho việc xây dựng ứng
dụng nhẹ nhàng hơn. Dễ dàng thêm các tính năng mới, và các tính năng cũ có thể dễ dàng
thay đổi. MVC cho phép các nhà phát triển và các nhà thiết kế có thể làm việc đồng thời
với nhau. MVC cho phép thay đổi trong 1 phần của ứng dụng mà không ảnh hưởng đến
các phần khác.
Sở dĩ như vậy vì kiến trúc MVC đã tách biệt (decoupling) sự phụ thuộc giữa các
thành phần trong một đối tượng đồ họa, làm tăng tính linh động (flexibility) và tính tái sử
dụng (reusebility) của đối tượng đồ họa đó. Một đối tượng đồ họa bấy giờ có thể dễ dàng

thay đổi giao diện bằng cách thay đổi thành phần View của nó trong khi cách thức lưu trữ
(Model) cũng như xử lý (Controller) không hề thay đổi. Tương tự, ta có thể thay đổi cách
thức lưu trữ (Model) hoặc xử lý (Controller) của đối tượng đồ họa mà những thành phần
còn lại vẫn giữ nguyên.
1.4 Mô hình MVC trong PHP
1.3.1 Giới thiệu tổng quan
Mô hình MVC (model, controller, view) là mô hình chuẩn cho ứng dụng web
được sử dụng nhiều nhất ngày nay. Mô hình MVC được sử dụng lần đầu tiên trong
Smalltalk, sau đó được sử dụng phổ biến trong ngôn ngữ lập trình Java. Hiện nay, đã có
hơn hàng chục PHP framework dựa trên mô hình này.
MVC là 1 mô hình (kiến trúc) trong lập trình, cho phép tách biệt các mã nghiệp vụ
(business logic) và giao diện (UI) thành các phần riêng biệt, điều này đồng nghĩa với việc
ta có thể chỉnh sửa chúng 1 cách riêng lẻ. Trong cụm từ MVC thì: Model (M) có thể hiểu
là phần xử lý các thao tác về nghiệp vụ (business logic), View được hiểu là phần xử lý
lớp giao diện (presentation layer), và Controller làm nhiệm vụ lọc các request đc gọi từ
user, có chức năng như 1 route: điều chỉnh, phân luồng các yêu cầu để gọi đúng Model &
View thích hợp. Về cơ bản, MVC chia nhỏ quá trình xử lý của 1 ứng dụng, vì thế nên bạn
có thể làm việc trên từng thành phần riêng lẻ, trong khi những thành phần khác sẽ không
bị ảnh hưởng tới. Thực chất, điều này giúp đỡ bạn lập trình PHP nhanh hơn và ít phức tạp
hơn.
SVTH:Phạm Thị Mỹ Huyền – CCLT07B

9


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP
1.3.2
 Khái niệm

Lịch sử phát triển của PHP


PHP là viết tắt của cụm từ Personal Hompe Page là ngôn ngữ chạy trên máy
chủ và được dùng để tạo ra các website với tính năng phức tạp. Khác với các ngôn
ngữ HTML hay Javascript được chạy trên trình duyệt của người dùng (hay còn gọi
là máy khách) thì PHP được viết để chạy trên máy chủ.
 Lịch sử ra đời
Được tạo ra vào những năm 1994 bởi Rasmus Lerdorf, phiên bản đầu tiên
của PHP là một tập hợp đơn giản của kỹ thuật Common Gateway Interface (CGI)
nhị phân viết bằng ngôn ngữ lập trình C.
Trong tháng 6 năm 1995, Rasmus đã chính thức public mã nguồn này, ông
cho phép các nhà phát triển phần mềm được sử dụng nó nếu họ có khả năng. Điều
này cũng giúp cho Rasmus có thể cải tiến PHP dựa vào những ý kiến từ người
dùng.
Tháng 10, năm 1995, Rasmus đã phát hành phiên bản mới, ông viết lại toàn
bộ mã nguồn và đặt lại với cái tên PHP và đó cũng là phiên bản ngôn ngữ lập trình
đầu tiên trên thế giới được coi là một nền tảng ngôn ngữ tiên tiến. PHP được cố
tình thiết kế để trông giống với ngôn ngữ C, làm cho nó trở nên thân thiện và dễ
làm quen đối với cả các nhà phát triển C, Perl, và ngôn ngữ tương tự.
Vào tháng 4 năm 1996, kết hợp với tên gọi của phiên bản trước, Rasmus đã
giới thiệu PHP / FI. Thế hệ thứ hai của ngôn ngữ lập trình này đã thực sự phát
triển PHP từ một bộ công cụ cho tới một ngôn ngữ lập trình theo đúng nghĩa của
nó. Nó được ra đời để hỗ trợ cho các cơ sở dữ liệu DBM, mSQL, và Postgres95,
cookies, hỗ trợ chức năng người dùng, và nhiều hơn thế. 1997, ngôn ngữ PHP đã
được viết lại hoàn toàn.
Năm 1998, phiên bản PHP 3.0 được công bố.
Tháng 5 năm 2000, phiên bản PHP 4.0 với hàng loạt tính năng mới bổ sung
chính thức được công bố.
Ngày 21 tháng 12 năm 2003, phiên bản PHP Beta 3 được công bố.
Ngày 13 tháng 7 năm 2004, phiên bản PHP 5 ra mắt sau một chuỗi khá dài
các bản kiểm tra bao gồm Beta 4, RC1, RC2, RC3.

Ngày 14 tháng 7 năm 2005, phiên bản 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.
 Quá trình thông dịch của PHP

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

10


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

Hình 3 :Quá trình thông dịch của PHP.

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

11


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP
 Cú pháp

PHP 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ông thô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ạnlanguage="php"> và </script> cũng đôi khi được sử dụng. Cách viết dấu giới hạn
dạng thẻ ngắn cũng có thể được dùng để thông báo bắt đầu đoạn mã PHP,
thẻ thông báo kết thúc đoạn mã PHP là ?>.
Mục đích của những dấ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ống phân tích bỏ qua và được xuất ra một cách trực tiếp.
Về cú pháp các từ khóa và ngôn ngữ, PHP tương tự hầu hết các ngôn ngữ lập trình
bậc cao có cú pháp kiểu C. Các phát biểu điều kiện If (Nếu), vòng
lặp for và while, các hàm trả về đều tương tự cú pháp của các ngôn ngữ như C, C+
+, Java và Perl.
 PHP Framework
PHP frameworks làm cho sự phát triển của những ứng dụng web viết bằng
ngôn ngữ PHP trở nên trôi chảy hơn, bằng cách cung cấp 1 cấu trúc cơ bản để xây
dựng những ứng dụng đó. Hay nói cách khác, PHP framework giúp đỡ các bạn
thúc đẩy nhanh chóng quá trình phát triển ứng dụng, giúp bạn tiết kiệm được thời
gian, tăng sự ổn định cho ứng dụng, và giảm thiểu số lần phải viết lại mã cho lập
trình viên. Ngoài ra Framework còn giúp những người mới bắt đầu có thể xây
dựng các ứng dụng ổn định hơn nhờ việc tương tác chính xác giữa các Database,
mã (PHP) và giao diện (HTML) 1 cách riêng biệt. Điều này cho phép bạn dành
nhiều thời gian để tạo ra các ứng dụng web, hơn là phí thời gian để viết các đoạn
mã lặp lại trong 1 project. Ý tưởng chung đằng sau cách thức làm việc của 1 PHP
framework được kể đến là Model View Controller (MVC).
1.3.3 Giới thiệu về hệ quản trị cơ sở dữ liệu MYSQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển,
hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất
mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có
truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về
MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau:

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

12



Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS
X, Unix,FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,...
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu
quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác,
nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,...
1.3.4

Giới thiệu về Ampps

Apmms là một bộ ứng dụng được đóng gói sẵn bao gồm các phần mềm cơ
bản để tạo localhost (Apache, MySQL, PhpMyAdmin) và những ứng dụng nhỏ
kèm theo như bảng điều khiển khởi động/tắt localhost, Softaculous, Addondomain,…để bạn có một localhost hoàn chỉnh không khác gì một share host bình
thường.
Ứng dụng này được tạo ra bởi chính Softaculous – một thương hiệu script
tự động cài đặt mã nguồn thông dụng nhất trên thế giới được tích hợp miễn phí
vào các share host sử dụng cPanel và DirectAdmin mà bạn có thể nhận ra khi mua
host. Nên chuyện làm việc tốt trên localhost với Ampps là điều không phải bàn
cãi.
Ampps tạo cho bạn môi trường tương tự như những nhà cung cấp hosting,
cho phép bạn phát triển, sửa chữa, tạo mới hoặc thử nghiệm những ý tưởng táo
bạo trong lập trình web mà không ảnh hưởng và bị khóa bởi việc sử dụng tài
nguyên quá mức.

SVTH:Phạm Thị Mỹ Huyền – CCLT07B


13


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

Hình 4:Phần mềm Ampps.
1.3.5

Mô hình MVC trong PHP

 MVC là gì?

MVC là viết tắt của Model – View – Controller. Là một trong những design pattern.
Được vận hành để tách mã lệnh thành 3 phần riêng biệt. Ở mỗi phần MVC sẽ có những
chức năng đặc thù. Để xử lý các tác vụ mà request gởi tới. MVC làm cho mã lệnh trở nên
trong sáng, dễ phát triển và dễ nâng cấp theo thời gian.
Để làm việc tốt đối với MVC, chúng ta cần nắm thật vững kiến thức OOP. Bản chất
của các framework khác cũng được hình thành trên lý thuyết MVC. Do vậy nếu chúng ta
nắm tốt MVC. Thì ở những framework khác chắc chắn sẽ không cảm thấy khó hiểu.




Model: Là thành phần chịu trách nhiệm xử lý các thao tác trên database. Và gởi trả
kết quả thông qua view.
View: Là phần hiển thị thông tin trên website, sau khi đi qua controller và nhận kết
quả từ phía model thì view là bước cuối cùng để chuyển thông tin tới người dùng.
Controller: Là phần điều hướng các request tới những tác vụ tương ứng. Controller
là một phần không thể thiếu ở bất cứ framework nào. Vì nó có trách nhiệm gởi và
nhận request từ hệ thống tới người sử dụng.


SVTH:Phạm Thị Mỹ Huyền – CCLT07B

14


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

Hình 5: Mô hình MVC trong PHP


Tìm hiểu Controller

Controller có trách nhiệm chính là điều hướng các yêu cầu của người sử
dụng. Như vậy trên toàn ứng dụng của ta, tất cả các request đều sẽ phải đi tới
controller. Và tại đây, ứng với các tham số người sử dụng truyền mà ta đưa họ đến
một tác vụ nào đó trên ứng dụng.
Tại các tác vụ này, chúng sẽ thông qua lớp model để làm việc và trả kết quả
trở về controller. Cuối cùng controller sẽ đẩy dữ liệu thao tác tới view. View là
thành phần cuối cùng mà người sử dụng nhận được khi họ giở request tới ứng
dụng.
Có thể hiểu controller, giống với kỹ thuật đa cấp mà chúng ta đã từng làm
việc ỡ lớp PHP Nâng cao, với các tác vụ chạy ứng dụng phân cấp theo từng nhánh
riêng biệt như: Module, action,….


Tìm hiểu Model

Model là thành phần chủ yếu được sử dụng để thao tác xử lý dữ liệu. Trong
các framework, Model vẫn thường sử dụng theo phương thức Active Record. Một

trong những design pattern. Chúng có tác dụng rút ngắn thời gian viết câu truy vấn
cho người sử dụng. Biến những câu truy vấn phức tạp trở nên gần gũi và thân
thiện với người sử dụng thông qua các thư viện được định nghĩa sẵn.

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

15


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

Model thường sẽ là các phương thức có trách nhiệm xử lý các tác vụ như:
select, insert, update, delete các record trong database. Ứng với các lấy dữ liệu,
model thường sử dụng mảng để gởi trả kết quả về. Vì mảng có thể cho phép model
lưu trữ nhiều thông tin hơn, nên thường các record khi bóc tách chúng sẽ mang các
dữ liệu của database một cách chi tiết.
Khi sử dụng models, ta cũng cần tuân theo nguyên tắc chính của chúng là
không xuất giá trị trực tiếp trong model. Mà tất cả những dữ liệu ấy, phải đưa vào
mảng và trả về theo phương thức. Và tiếp tục ở view ta sẽ sử dụng nó để lấy dữ
liệu ra.
− Tìm hiểu View
View là phần hiển thị thông tin tương phản khi gởi và nhận request. Trước
đây, khi người lập trình chưa nghĩ tới view. Họ thường thao tác xử lý dữ liệu ngay
trực tiếp trên ứng dụng và đổ cả dữ liệu ngay trên file PHP đó. Điều này làm cho
ứng dụng trở nên cồng kềnh, và đặc biệt rất khó cho việc bảo trì nâng cấp sau này.
Nhất là đối với designer, việc thay đổi giao diện của một website luôn làm cho họ
cảm thấy đau đầu vì phải vọc thẳng vào core.
Trước đây, để giải quyết tình huống này. Người ta thường sử dụng template
để phân tách website thành 2 mảng riêng biệt. Một là giao diện và một là core.
Việc chỉnh sửa giao diện trở nên đơn giản hơn đối với họ so với cách viết thập cẩm

kia. Tuy nhiên, các thư viện này thực chất sẽ làm cho ứng dụng của chúng ta trở
nên chậm chạp hơn bao giờ hết. Bởi chúng phải phiên dịch nhiều lần các kịch bản.
Chẳng hạn: Để dễ thao tác, smarty sẽ dịch ngược các yêu cầu của bạn sang
ngôn ngữ của nó. Sau đó chúng sẽ chuyển ngôn ngữ đó sang PHP và thao tác xử lý
trên nó.
Việc này sẽ làm ứng dụng chậm chạp, do cứ phải dịch qua, dịch lại một
kịch bản. Trong khi, với sự kết hợp của PHP thuần, ứng dụng của bạn sẽ nhanh và
ổn định hơn nhiều.
Và view cũng là một phần trong việc nâng cấp những hạn chế ấy. Chúng
giúp giảm thiểu tối đa quá trình biên dịch nhiều lần. Và làm cho ứng dụng trở nên
mạnh mẽ và chuyên nghiệp hơn nhiều so với cách lập trình thuần.
 Ưu điểm của MVC
MVC giúp lập trình viên phân tách ứng dụng thành ba lớp một cách rõ
ràng. Điều này sẽ rất giúp ích cho việc phát triển những ứng dụng xét về mặt lâu
dài cho việc bảo trì và nâng cấp hệ thống.
MVC hiện đang là mô hình lập trình tiên tiến bậc nhất hiện nay, điều mà
các framework vẫn đang nổ lực để hướng tới sự đơn giản và yếu tố lâu dài cho
người sử dụng.
SVTH:Phạm Thị Mỹ Huyền – CCLT07B

16


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP
 Khuyết điểm của MVC

Mặc dù, MVC tỏ ra lợi thế hơn nhiều so với cách lập trình thông thường.
Nhưng MVC luôn phải nạp, load những thư viện đồ sộ để xử lý dữ liệu. Chính
điều này làm cho mô hình trở nên chậm chạp hơn nhiều so với việc code tay thuần
túy như ở PHP.

MVC đòi hỏi người tiếp cận phải biết qua OOP, có kinh nghiệm tương đối
cho việc thiết lập và xây dựng một ứng dụng hoàn chỉnh. Sẽ rất khó khăn nếu OOP
của người sử dụng còn yếu.
MVC tận dụng mảng là thành phần chính cho việc truy xuất dữ liệu. Nhất
là với việc sử dụng active record để viết ứng dụng. Chúng luôn cần người viết phải
nắm vứng mô hình mảng đa chiều.
 Mô hình xử lý dữ liệu của MVC

Hình 6: Mô hình xử lý dữ liệu của MVC.
Trước khi lập trình website thì chúng ta phải xây dựng lớp model trước vì
nó là nền tảng dữ liệu chứa toàn bộ nội dung website, nhiều chức năng controller
phụ thuộc vào model.
Trong model sẽ có phương thức xử lý liên quan đến dữ liệu :dữ liệu trực
tiếp hoặc dữ liệu lấy từ CSDL .
Ví dụ:
Giả sử chúng ta sẽ xây dựng một đoạn chương trình cho hiển thị mặt hàng
máy tính xách tay thì trước tiên chúng ta cần phân tích những yêu cầu như sau:
Đầu tiên các bạn phải đi xây dựng lớp model vì lớp model là lớp tương tác
với dữ liệu và là nơi gọi dữ liệu từ CSDL lên .

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

17


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

Sau đó chúng ta sẽ đi viết code cho lớp controller vì trong mô hình mvc thì lớp
controller nó tương tác qua lại với lớp model và chúng ta sẽ viết code gọi model lên.


Sau khi xây dựng xong lớp controller chúng ta sẽ tiếp tục đi xây dựng lớp view để
hiển thị mặt hàng máy tính xách tay lên web.

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 Yêu cầu hệ thống thông tin
2.1.1 Yêu cầu hệ thống
− Sử dụng ngôn ngữ PHP (PHP Framwork)
− Hệ quản trị cơ sở dữ liệu MySQL.
− Phần mềm Ampps.
− Phần mềm Notepad ++.

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

18


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP
2.1.2 Yêu cầu chức năng
− Quản trị hệ thống bao gồm:
+ Cập nhật người dùng.
+ Đăng nhập.
+ Đăng xuất.
− Quản lý danh mục bao gồm:
+ Cập nhật nhà cung cấp
+ Cập nhật loại hàng
+ Cập nhật hàng hóa.
− Quản lý hàng bao gồm:
+ Cập nhật đơn hàng mua.
+ Cập nhật đơn hàng mua.
+ Đặt mua hàng.

− Tìm kiếm - thống kê bao gồm:
+ Tìm kiếm theo tên sản phẩm,
+ Tìm kiếm theo giá
+ Thống kê sản phẩm bán ra.
2.1.3 Yêu cầu phi chức năng
− Giao diện web dễ sử dụng, thân thiện với người dùng.
− Hệ thống hoạt động liên tục.
− Chương trình chạy ổn.
− Phục vụ được một lúc nhiều người.
− Thông tin website chính xác.
− Dễ bảo trì, nâng cấp.

2.2 Phân tích hệ thống
2.2.1Biểu đồ phân rã chức năng (BDF):
BDF là biểu đồ phân rã có thứ bậc các chức năng của hệ thống thông tin từ
tổng thể đến chi tiết. Mỗi chức năng có thể có một hoặc nhiều chức năng con,
tất cả đều được thể hiện trog một khung của biểu đồ.

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

19


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

Hình 7: Biểu đồ phân rã chức năng.
2.2.2Biểu đồ luồng dữ liệu (DFD):
DFD là một công cụ đồ họa để mô tả luồng dữ liệu luân chuyển trong một
hệ thống thông tin và những hoạt động xử lý được thực hiện bởi hệ thống
thông tin đó.

Xử lý là một hoạt động được thực hiện trên dòng dữ liệu vào để tạo một
dòng dữ liệu ra, là chức năng được thực hiện bởi hệ thống thông tin để đáp ứng
dòng dữ liệu ra. Ký hiệu:

Dòng dữ liệu biểu diễn một sự di chuyển của dữ liệu, giữa các quá trình
hoặc kho dữ liệu. Ký hiệu:
Kho dữ liệu là nơi lưu trữ dữ liệu. Ký hiệu:

Tác nhân ngoài là nguồn cung cấp hoặc nhận thông tin dữ liệu của hệ thống
thông tin. Một tác nhân ngoài không phải là một phần của hệ thống thông tin

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

20


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

mà nó thể hiện mối quan hệ của hệ thống thông tin với môi trường bên ngoài.
Ký hiệu:

2.2.3Biểu đồ luồng dữ liệu mức ngữ cảnh

Hình 8: Biểu đồ luồng dữ liệu mức ngữ cảnh
Giải thích :
Yêu cầu hệ thống website.
Trả về kết quả của yêu cầu hệ thống website.
Yêu cầu hệ thống hệ thống website.
Trả về kết quả của yêu cầu hệ thống website.
2.2.4Biểu đồ luồng dữ liệu mức 0

1.
2.
3.
4.

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

21


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

Hình 9: Biểu đồ luồng dữ liệu mức 0
Giải thích:
Quản trị viên yêu cầu cập nhật quản trị hệ thống.
Cập nhật quản trị hệ thống.
Trả về thông tin quản trị hệ thống.
Hiển thị thông tinquản trị hệ thống.
Quản trị viên yêu cầu cập nhật quản lý danh mục.
Cập nhật quản lý danh mục.
Trả về thông tin quản lý danh mục.
Hiển thị thông tin quản danh mục.
Quản trị viên yêu cầu cập nhật quản lý đơn hàng.
Cập nhật quản lý đơn hàng.
Trả về thông tin quản lý đơn hàng.
Hiển thị thông tin quản lý đơn hàng.
Quản trị viên yêu cầu thống kê.
Thống kê dữ liệu.
Trả về thông tin thống kê.
Hiển thị thông tin thống kê.

Khách hàng yêu cầu tìm kiếm.

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

22


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

Tìm kiếm dữ liệu.
Trả về thông tin tìm kiếm.
Hiển thị thông tin tìm kiếm.
2.2.5Biểu đồ luồng dữ liệu mức 1: Quản trị hệ thống

Hình 10: Biểu đồ luồng dữ liệu quản trị hệ thống mức 1.
Giải thích:
Quản trị viên yêu cầu đăng nhập.
Hệ thống cập nhật và truy xuất dữ liệu.
Trả về kết quả cho quản trị viên.
Hiển thị kết quả cho quản trị viên.
Quản trị viên yêu cầu đăng xuất.
Hệ thống cập nhật thông tin tài khoản.
Trả về kết quả cho quản trị viên.
Hiển thị kết quả cho quản trị viên.
Quản trị viên yêu cầu cập nhật người dùng.
Hệ thống cập nhật thông tin người dùng.
Trả về kết quả cho quản trị viên.
Hiển thị kết quả cho quản trị viên.
2.2.6Biểu đồ luồng dữ liệu mức 1: Quản lý danh mục
1.

2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

23


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

Hình 11: Biểu đồ luồng dữ liệu quản lý danh mục mức 1.
Giải thích:
Quản trị viên yêu cầu cập nhật nhà cung cấp.
Hệ thống cập nhật và truy cập vào kho nhà cung cấp.
Trả về kết quả cho quản trị viên.
Hiển thị kết quả cho quản trị viên.
Quản trị viên yêu cầu cập nhật loại hàng.
Hệ thống cập nhật và truy cập vào kho loại hàng.
Trả về kết quả cho quản trị viên.
Hiển thị kết quả cho quản trị viên.
Quản trị viên yêu cầu cập nhật hàng hóa.

Hệ thống cập nhật và truy cập vào kho hàng hóa.
Trả về kết quả cho quản trị viên.
Hiển thị kết quả cho quản trị viên.
2.2.7Biểu đồ luồng dữ liệu mức 1: Quản lý hàng
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

24


Xây dựng website bán laptop qua mạng dựa trên mô hình MVC trong PHP

Hình 12: Biểu đồ luồng dữ liệu quản lý hàng mức 1.
Giải thích:
Quản trị viên yêu cầu cập nhật đơn hàng bán.
Hệ thống cập nhật và truy xuất dữ liệu.
Trả về kết quả cho quản trị viên.
Hiển thị kết quả cho quản trị viên.

Quản trị viên yêu cầu cập nhật đơn hàng mua.
Hệ thống cập nhật và truy xuất dữ liệu.
Trả về kết quả cho quản trị viên.
Hiển thị kết quả cho quản trị viên.
Khách hàng yêu cầu đặt hàng.
Hệ thống cập nhật và truy xuất dữ liệu.
Trả về kết quả cho khách hàng.
Hiển thị kết quả cho khách hàng.
2.2.8Biểu đồ luồng dữ liệu mức 1: Tìm kiếm-Thống kê
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

SVTH:Phạm Thị Mỹ Huyền – CCLT07B

25


×