UBND TỈNH QUẢNG NAM
TRƯỜNG ĐẠI HỌC QUẢNG NAM
KHOA: TOÁN - TIN
----------
CHOUNMANY XAIYASIN
THIẾT KẾ VÀ XÂY DỰNG WEBSITE
BÁN HÀNG VỚI PHP
KHÓA LUẬN TỐT NGHIỆP
Quảng Nam, tháng 5 năm 2022
UBND TỈNH QUẢNG NAM
TRƯỜNG ĐẠI HỌC QUẢNG NAM
KHOA: TOÁN - TIN
----------
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Tên đề tài:
THIẾT KẾ VÀ XÂY DỰNG WEBSITE
BÁN HÀNGVỚI PHP
Sinh viên thực hiện
CHOUNMANY XAIYASIN
MSSV: 2118100130
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
KHÓA 2018 – 2022
Cán bộ hướng dẫn
ThS. LÊ THỊ NGUYÊN AN
MSCB: ………
Quảng Nam, tháng 5 năm 2022
LỜI CẢM ƠN
Em xin gửi lời cảm ơn ban lãnh đạo Trường Đại học Quảng Nam, ban
lãnh đạo khoa Tốn – Tin nói chung và các thầy cơ trong khoa nói riêng đã quan
tâm và nhiệt tình hướng dẫn em hồn thành khóa luận tốt nghiệp.
Em xin chân thành cảm ơn cô Th.S Lê Thị Nguyên An, đã hướng dẫn và
tận tình giúp đỡ em hồn thành khóa luận của minh.
Song do hạn chế về mặt kiến thức của bản thân nên khóa luận khơng tránh
khỏi những sai sót rất mong sự đóng góp của q thầy cơ và các bạn để khóa
luận hồn chỉnh hơn.
Xin chân thành cảm ơn.
MỤC LỤC
PHẦN 1: MỞ ĐẦU .....................................................................................................1
1. Lý do chọn đề tài .....................................................................................................1
2. Mục tiêu của đề tài...................................................................................................1
3. Đối tượng và phạm vi nghiên cứu ............................................................................1
4. Phương pháp nghiên cứu..........................................................................................2
5. Lịch sử nghiên cứu...................................................................................................2
6. Đóng góp của đề tài .................................................................................................2
7. Cấu trúc đề tài..........................................................................................................2
PHẦN 2: NỘI DUNG..................................................................................................3
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT .............................................................................3
1.1. Tìm hiểu về các ngơn ngữ lập trình .......................................................................3
1.1.1. Ngơn ngữ HTML ...............................................................................................3
1.1.1.1. Cấu trúc chung của một trang HTML..............................................................3
1.1.1.2. Các thẻ HTML cơ bản.....................................................................................3
1.1.2. Ngôn ngữ CSS ...................................................................................................5
1.1.2.1 Định nghĩa CSS ...............................................................................................5
1.1.2.2 Cách sử dụng CSS............................................................................................5
1.1.2.3 Vì sao phải sử dụng CSS ..................................................................................6
1.1.3. Ngôn ngữ PHP ...................................................................................................6
1.1.3.1. Khái niệm PHP ...............................................................................................6
1.1.3.2. Tại sao nên dùng PHP .....................................................................................6
1.1.3.3. Những điểm mạnh của PHP ............................................................................8
1.1.3.4. Các kiểu dữ liệu trong PHP .............................................................................9
1.1.3.5. Biến - giá trị ....................................................................................................9
1.1.3.6. Các cấu trúc lệnh...........................................................................................10
1.1.3.7. Biểu thức trong PHP ..................................................................................... 12
1.1.3.8. Công cụ phát triển PHP ................................................................................. 15
1.1.3.9. Thao tác kết nối với MySQL .........................................................................16
1.2. Một số thư viện hỗ trợ.........................................................................................17
1.2.1 Thư viện Javascript ........................................................................................... 17
1.2.1.1. Giới thiệu ...................................................................................................... 17
1.2.1.2. Cách nhúng Javascript vào trong tập tin HTML ............................................18
1.2.1.3 . Biến trong JavaScript ...................................................................................18
1.2.2 Thư viện Ajax ................................................................................................... 19
1.2.3 Thư viện JQUERY............................................................................................20
1.3 Cơ sở dữ liệu MySQL .......................................................................................... 20
1.3.1. Khái niệm cơ sở dữ liệu MySQL......................................................................20
1.3.2. Ưu điểm của MySQL .......................................................................................21
1.3.3. Tại sao ta sử dụng hệ cơ sở dữ liệu MySQL? ................................................... 22
1.3.4. Các thành phần của MySQL............................................................................. 23
1.3.5 Visual studio Code ............................................................................................ 23
1.3.6 Xampp .............................................................................................................. 23
Chương 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THƠNG TIN .........................26
2.1. Khảo sát và đặc tả yêu cầu .................................................................................. 26
2.1.1. Khảo sát thực tế ............................................................................................... 26
2.1.2. Yêu cầu giao diện của website ......................................................................... 27
2.1.2.1. Phần quản lý trong admin..............................................................................27
2.1.2.2. Phần giao diện người dùng ............................................................................ 27
2.1.3. Các yêu cầu phi chức năng ............................................................................... 27
2.1.4. Yêu cầu bảo mật .............................................................................................. 28
2.1.5. Yêu cầu chất lượng .......................................................................................... 28
2.2. Phân tích hệ thống...............................................................................................28
2.2.1. Phân tích các chức năng của hệ thống .............................................................. 28
2.2.2 Xác định các tác nhân tác động đến hệ thống .................................................... 32
2.2.3. Sơ đồ use case..................................................................................................33
2.2.3.1. Sơ đồ Use – case tổng quát............................................................................33
2.2.3.1. Use case ........................................................................................................ 34
2.2.4.Biểu đồ phân tích thiết kế hệ thống ...................................................................44
2.2.4.1. Biểu đồ tuần tự..............................................................................................44
2.3. Thiết kế cơ sở dữ liệu..........................................................................................53
2.4. Yêu cầu về bảo mật.............................................................................................59
CHƯƠNG 3. THIẾT KẾ VÀ CÀI ĐẶT WEBSITE...................................................60
3.1. Giao diện trang quản lý: ...................................................................................... 60
3.2. Giao diện người dùng..........................................................................................64
PHẦN 3: KẾT LUẬN VÀ KIẾN NGHỊ ....................................................................70
1. Kết luận ................................................................................................................. 70
1.1. Kết quả đạt được của đề tài ................................................................................. 70
1.2. Hạn chế của đề tài...............................................................................................70
1.3. Hướng phát triển của đề tài ................................................................................. 70
2. Kiến nghị ............................................................................................................... 70
TÀI LIỆU THAM KHẢO..........................................................................................71
PHẦN 1: MỞ ĐẦU
1. Lý do chọn đề tài
Như chúng ta cũng thấy trong thị trường hiện nay thì việc cạnh tranh về kinh
doanh ngày càng trở nên quyết liệt và hầu hết những nhà kinh doanh, những công ty
lớn đều rất chú tâm đến việc làm thoả mãn khách hàng một cách tốt nhất. So với kinh
doanh truyền thống thì bán hàng trên Internet chi phí thấp hơn, hiệu quả đạt cao hơn.
Hơn thế nữa, với lợi thế của công nghệ Internet nên việc truyền tải thơng tin về
sản phẩm nhanh chóng, thuận tiện. Kết hợp với bộ phận giao hàng tận nơi, là thơng
qua bưu điện và ngân hàng để thanh tốn tiền, càng tăng thêm thuận lợi để loại hình
này phát triển. Biết được những nhu cầu đó chương trình “Thiết kế và xây dựng
website bán hàng với PHP” được xây dựng nhằm để đáp ứng cho mọi người tiêu dùng
trên tồn quốc và thơng qua hệ thống website này họ có thể đặt mua các mặt hàng hay
sản phẩm cần thiết.
Do đó, với sự ra đời các website bán hàng qua mạng, mọi người có thể mua mọi
thứ hàng hóa mọi lúc mọi nơi mà không cần phải tới tận nơi để mua. Trên thế giới có
rất nhiều trang website bán hàng trực tuyến nhưng vẫn chưa được phổ biến rộng rãi.
Trước thực tế đó em đã chọn đề tài: “Thiết kế và xây dựng website bán hàng với PHP”
cho đề tài khóa luận tốt nghiệp của mình.
2. Mục tiêu của đề tài
Thiết kế website bán hàng nhằm giải quyết những khó khăn hiện tại của cửa hàng
Xây dựng các chức năng cơ bản của một website bán hàng thương mại. Website
hiển thị sản phẩm đẹp, thu hút người dùng.
Hỗ trợ khách hàng một cách nhanh nhất khi được yêu cầu liên hệ.
Nắm bắt được công nghệ thiết kế web bằng PHP, MYSQL, HTML, JQUERY,
JAVASCRIPT, CSS,…
3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:
Đề tài chủ yếu tìm hiểu về các ngơn ngữ thiết kế web như HTML, CSS, PHP. Sử
dụng công cụ Visual Studio Code để viết code.
Phạm vi nghiên cứu:
Hoạt động bán hàng, cập nhật hàng, cập nhật thông tin về hàng và thông tin
khách hàng đặt mua hàng của cửa hàng .
1
4. Phương pháp nghiên cứu
Khảo sát thực trạng tại cửa hàng.
Phân tích thiết kế hệ thống theo yêu cầu của người dùng.
Thu thập các yêu cầu từ phía người dùng.
Nghiên cứu các công cụ xây dựng hệ thống.
5. Lịch sử nghiên cứu
Trước khi để thiết kế một trang web cơ bản cũng như một trang web bán hàng
trực tuyến ta phải tìm hiểu về một số ngơn ngữ trong thiết kế web như php, html Sau
đó đi phân tích hệ thống website theo hướng cấu trúc và thiết kế cơ sở dữ liệu.
6. Đóng góp của đề tài
Giúp người tiêu dùng có được giá cả và hình ảnh của sản phẩm một cách chính xác.
Giúp nhà quản lý dễ dàng hơn trong việc quản lý sản phẩm
Đỡ tốn nhiều 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.
7. Cấu trúc đề tài
Nội dung khóa luận gồm các phần như sau:
Phần 1: Mở đầu
Phần 2: Nội dung nghiên cứu. Gồm có 3 chương:
Chương 1: Cơ sở lý thuyết
Chương 2: Phân tích và thiết kế hệ thống thơng tin
Chương 3: Thiết kế và xây dựng website
Phần 3: Kết luận và kiến nghị
Phần 4: Tài liệu tham khảo
2
PHẦN 2: NỘI DUNG
CHƯƠNG 1
CƠ SỞ LÝ THUYẾT
1.1. Tìm hiểu về các ngơn ngữ lập trình
1.1.1. Ngơn ngữ HTML
1.1.1.1. Cấu trúc chung của một trang HTML
Định nghĩa HTML:
HTML là mã được dùng để xây dựng nên cấu trúc và nội dung của trang web. Ví
dụ, nội dung có thể được cấu thành bởi một loạt các đoạn văn, một danh sách liệt kê,
hoặc sử dụng những hình ảnh và bảng biểu...
Cấu trúc chung của một trang HTML
1.1.1.2. Các thẻ HTML cơ bản
Một tài liệu HTML đơn giản sẽ bao gồm các thẻ HTML cơ bản như sau:
<!DOCTYPE>
Đây là thẻ có nhiệm vụ khai báo cho trình duyệt web biết rằng tài liệu đang hiển
thị là HTML. Mọi tài liệu HTML đều phải bắt đầu với <!DOCTYPE>.
Với phiên bản HTML5, bạn dùng khai báo <!DOCTYPE html> Khai báo
<!DOCTYPE> không phân biệt chữ thường và chữ hoa.
3
<html>
Thẻ này tượng trưng cho thư mục gốc của một tài liệu HTML, đóng vai trị là
khu vực chứa tất cả các phần tử HTML khác (trừ <!DOCTYPE>). Nó ln phải có
thuộc tính lang để khai báo ngơn ngữ cho một phần hoặc cả trang web, giúp công cụ
tìm kiếm và trình duyệt dễ dàng đọc và hiển thị được thông tin trong trang.
<head>
Nằm giữa <html> và <body>, thẻ <head> làm nhiệm vụ chứa các siêu dữ liệu.
Đây là những dữ liệu về tài liệu HTML, dùng để xác định tiêu đề, ký tự và các thông
tin meta khác.
Một số thẻ có thể lồng vào thẻ <head> như: <title>, <style>, <base>, <link>,
<meta>, <script> và <noscript>.
<title>
Thẻ này chỉ ra tiêu đề của trang HTML, xuất hiện dưới dạng văn bản và được
hiển thị ở thanh tiêu đề của trình duyệt hoặc ở tab của trang. Đồng thời, nó cũng xác
định tiêu đề cho trang khi trang được thêm vào mục yêu thích.
Đây là một phần tử bắt buộc phải có trong mọi tài liệu HTML.
<body>
Đây là thẻ xác định phần nội dung của tài liệu. Nó là vùng chứa cho tất cả các nội
dung có thể nhìn thấy được như tiêu đề, đoạn văn, hình ảnh, siêu liên kết, bảng biểu,
danh mục,…
Mỗi tài liệu HTML chỉ có duy nhất 1 thẻ <body>.
–
Danh sách thẻ từ đến được sử dụng để chỉ rõ các tiêu đề trong tài liệu
HTML. Mức độ quan trọng của tiêu đề giảm dần từ xuống . Mỗi trang chỉ
dùng 1 .
Thẻ dùng để xác định một đoạn văn. Các trình duyệt sẽ tự động thêm một dịng
trống trước và sau mỗi thẻ
.
Bạn sẽ cần đến thẻ này để tạo một dấu ngắt dòng giữa văn bản, ví dụ như một bài
thơ. Đây là một thẻ rỗng, khơng có thẻ đóng. Khi dùng thẻ này thì bạn khơng phải
nhập thủ cơng khoảng cách giữa các đoạn văn nữa.
4
<hr>
Thẻ <hr> dùng để chuyển chủ đề, tách riêng các nội dung trong trang HTML.
<!– –>
Đây là thẻ bình luận được sử dụng để thêm các bình luận trong mã nguồn. Bình
luận khơng được hiển thị trong trình duyệt. Thẻ này sẽ hữu ích khi bạn muốn sửa mã
nguồn sau này.
1.1.2. Ngôn ngữ CSS
1.1.2.1 Định nghĩa CSS
CSS là viết tắt của Cascading Style Sheets, một ngôn ngữ thiết kế đơn giản, xử lý
một phần giao diện của trang web. CSS mô tả cách các phần tử HTML hiển thị trên
màn hình và các phương tiện khác.
Sử dụng CSS, bạn có thể kiểm soát màu chữ, cỡ chữ, kiểu chữ, khoảng cách giữa
các đoạn văn bản, kích thước của các thành phần trên trang web, màu nền, thiết kế bố
cục và cách trang web hiển thị trên những màn hình có kích thước khác nhau cũng như
hàng loạt hiệu ứng khác.
CSS rất hữu ích và tiện lợi. Nó có thể kiểm sốt tất cả các trang trên một website.
1.1.2.2 Cách sử dụng CSS
Có ba cách sử dụng css: Inline CSS, Internal CSS, External CSS
- Inline CSS
Ta đặt các cặp property:value vào bên trong thuộc tính style nằm ở thẻ mở của
phần tử.
Ví dụ:
Web cơ bản
- Internal CSS
Đặt các bộ định dạng CSS vào bên trong <style type="text/css"></style>
<style type="text/css"></style> đặt bên trong phần <head></head>
Ví dụ:
<!DOCTYPE html>
<html>
<head>
5
<style type="text/css">
h1 { font-size:30px; color:white; background-color:red; } p { background-
color:gray; }
</style>
</head>
<body>
webcoban.vn (WEB CƠ BẢN .VN)
Hướng dẫn học lập trình web từ cơ bản đến nâng cao
</body>
</html>
External CSS
Trong phần <head>, ta sử dụng cú pháp phía dưới để nhúng tập tin css vào trang web.
<link rel="stylesheet" type="text/css" href="đường dẫn đến tập tin CSS">
1.1.2.3 Vì sao phải sử dụng CSS
CSS là một trong những công cụ mạnh nhất mà nhà thiết kế có thể học hỏi vì nó
có thể ảnh hưởng tới toàn bộ diện mạo cho một trang web. Các trang tính cơ bản có
thể được cập nhật nhanh chóng và cho thấy các trang web được thay đổi thứ tự và
được thay đổi ưu tiên trên màn hình. Điều này cho thấy giá trị và tập trung vào khách
truy cập mà khơng cần phải thay đổi gì để đánh dấu HTML cơ bản.
Phương thức hoạt động của CSS là dựa vào các vùng chọn, vùng chọn có thể là
tên 1 thẻ HTML, tên 1 ID, hoặc nhiều kiểu khác. Sau đó, nó áp dụng các thuộc tính
cần thay đổi lên vùng chọn đó.
1.1.3. Ngơn ngữ PHP
1.1.3.1. Khái niệm PHP
PHP là gì? PHP chính là từ viết tắt của Hypertext Preprocessor) là một loại ngơn
ngữ lập trình kịch bản hay một loại mã lệnh được dùng chủ yếu với mục đích phát triển
các ứng dụng viết cho máy chủ, mở mã nguồn. PHP hiện nay rất phù hợp với các web
bởi nó có tốc độ nhanh, nhỏ gọn và cú pháp giống với ngơn ngữ lập trình C và Java.
1.1.3.2. Tại sao nên dùng PHP
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
6
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. Thời
gian thiết kế nhanh chóng, chi phí rẻ khiến cho PHP trở thành sự lựa chọn tối ưu của
các doanh nghiệp vừa và nhỏ trong việc thiết kế và phát triển web cho mình.
- Mã nguồn mở
Có lẽ nhiều bạn cũng biết PHP là một sản phẩm mã nguồn mở (Open-source)
nên việc cài đặt và tùy biến PHP là miễn phí và tự do.
Vì có ưu thế nguồn mở nên PHP có thể được cài đặt trên hầu hết các Web Server
thông dụng hiện nay như Apache, IIS…
-Tính Cộng đồng của PHP
Là một ngôn ngữ mã nguồn mở cùng với sự phổ biến của PHP thì cộng đồng
PHP được coi là khá lớn và có chất lượng.
Với cộng đồng phát triển lớn, việc cập nhật các bản vá lỗi phiên bản hiện tại cũng
như thử nghiệm các phiên bản mới khiến PHP rất linh hoạt trong việc hồn thiện mình.
Cộng đồng hỗ trợ, chia sẽ kinh nghiệm của PHP cũng rất dồi dào. Với rất nhiều
diễn đàn, blog trong và ngồi nước nói về PHP đã khiến cho quá trình tiếp cận của
người tìm hiểu PHP được rút ngắn nhanh chóng.
- Thư viện phong phú
Ngoài sự hỗ trợ của cộng đồng, thư viện script PHP cũng rất phong phú và đa
dạng. Từ những cái rất nhỏ như chỉ là 1 đoạn code, 1 hàm (PHP.net…) cho tới những
cái lớn hơn như Framework (Zend, CakePHP, CogeIgniter, Symfony…) ,ứng dụng
hoàn chỉnh (Joomla, WordPress, PhpBB…)
Với thư viện code phong phú, việc học tập và ứng dụng PHP trở nên rất dễ dàng
và nhanh chóng. Đây cũng chính là đặc điểm khiến PHP trở nên khá nổi bật và cũng là
nguyên nhân vì sao ngày càng có nhiều người sử dụng PHP để phát triển web.
- Hỗ trợ kết nối nhiều hệ cơ sở dữ liệu
Nhu cầu xây dựng web có sử dụng cơ sở dữ liệu là một nhu cầu tất yếu và PHP
cũng đáp ứng rất tốt nhu cầu này. Với việc tích hợp sẵn nhiều Database Client trong
PHP đã làm cho ứng dụng PHP dễ dàng kết nối tới các hệ cơ sở dữ liệu thông dụng.
Việc cập nhật và nâng cấp các Database Client đơn giản chỉ là việc thay thế các
Extension của PHP để phù hợp với hệ cơ sở dữ liệu mà PHP sẽ làm việc.
- Một số hệ cơ sở dữ liệu thơng dụng mà PHP có thể làm việc là: MySQL, MS SQL,
Oracle, Cassandra…
7
- Lập trình hướng đối tượng
Ngày nay, khái niệm lập trình hướng đối tượng (OOP) đã khơng cịn xa lạ với lập
trình viên. Với khả năng và lợi ích của mơ hình lập trình này nên nhiều ngơn ngữ đã
triển khai để hỗ trợ OOP.
Từ phiên bản PHP 5, PHP đã có khả năng hỗ trợ hầu hết các đặc điểm nổi bật của
lập trình hướng đối tượng như là Inheritance, Abstraction, Encapsulation,
Polymorphism, Interface, Autoload…
Với việc ngày càng có nhiều Framework và ứng dụng PHP viết bằng mơ hình
OOP nên lập trình viên tiếp cận và mở rộng các ứng dụng này trở nên dễ dàng và
nhanh chóng.
- Tính Bảo mật
Bản thân PHP là mã nguồn mở và cộng đồng phát triển rất tích cực nên có thể
nói PHP khá là an tồn.
PHP cũng cung cấp nhiều cơ chế cho phép bạn triển khai tính bảo mật cho ứng
dụng của mình như session, các hàm filter dữ liệu, kỹ thuật ép kiểu, thư viện PDO
(PHP Data Object) để tương tác với cơ sở dữ liệu an toàn hơn.
Kết hợp với các kỹ thuật bảo mật ở các tầng khác thì ứng dụng PHP sẽ trở nên
chắc chắn hơn và đảm bảo hoạt động cho website.
-Khả năng mở rộng cho PHP
Bằng việc xây dựng trên nền ngôn ngữ C và là mã nguồn mở nên khả năng mở
rộng cho ứng dụng PHP có thể nói là khơng có giới hạn.
Với thư viện phong phú và khả năng mở rộng lớn, ứng dụng PHP có thể tương
tác với hầu hết các loại ứng dụng phổ biến như xử lý hình ảnh, nén dữ liệu, mã hóa,
thao tác file PDF, Office, Email, Streaming…
Bạn hồn tồn có thể tự xây dựng cho mình các Extension để tối ưu, bổ sung các
chức năng cho PHP cũng như tối ưu luôn Core của PHP để phục vụ cho các mục đích
mở rộng website của mình.
1.1.3.3. Những điểm mạnh của PHP
PHP có tốc độ hoạt động rất nhanh và mang lại hiệu quả cao. Điều này được
chứng minh đó là một server bình thường cũng có thể đáp ứng được hàng triệu lượt
truy cập mỗi ngày.
8
Nếu bạn đã hiểu PHP là gì, bạn sẽ nhận thấy sự kết nối hỗ trợ đến hàng triệu hệ
quản trị cơ sở dữ liệu khác nhau của PHP hiện nay vô cùng tuyệt vời. Đây cũng là lý
do vì sao ngơn ngữ lập trình PHP được u thích hàng đầu thế giới.
Khơng những thế, PHP cịn có khả năng cung cấp một hệ thống dữ liệu vô cùng
phong phú. Điều này có được là do ngay từ đầu, PHP đã được xây dựng với mục đích
xây dựng và phát triển, nâng cao các ứng dụng trên web. Vì vậy, nó cung cấp rất nhiều
hàm được xây dựng sẵn giúp người dùng dễ dàng thực hiện các công việc như: gửi và
nhận email, làm việc với cookie,….
PHP còn sở hữu ưu điểm đó là một ngơn ngữ đơn giản, sử dụng dễ dàng đối với
cả những người mới bắt đầu nhập môn lập trình web.
Đặc biệt, khi tìm hiểu PHP là gì, điều khiến nhiều người u thích đó ở loại ngơn
ngữ lập trình này đó chính là nó có thể được sử dụng trên nhiều hệ điều hành khác nhau.
Thậm chí, trong nhiều trường hợp, các lập trình viên cịn có thể đem mã PHP này để
chạy trực tiếp trên các hệ điều hành khác mà hồn tồn khơng phải sửa đổi lại mã.
Lợi thế tiếp theo của PHP đó là mang tính cộng đồng. Bởi PHP được phát triển
và tối ưu liên tục từ các nhà phát triển lập trình trên tồn thế giới. Nhờ đó, PHP ngày
càng trở nên thân thiện hơn với người dùng và từng bước hoàn thiện hơn nữa.
1.1.3.4. Các kiểu dữ liệu trong PHP
Kiểu INT
Kiểu Boolean
Kiểu Số Thực (float, double)
Kiểu Chuỗi
Kiểu Mảng (array)
Kiểu NULL
Kiểu Đối Tượng (object)
1.1.3.5. Biến - giá trị
Tất cả các biến của PHP đều có tên bắt đầu bằng ký tự dollar ($).
Ví dụ $a, $name, $class ...
Giá trị của biến là giá trị được gán sau cùng bằng toán tử gán =. Ví dụ $a = 5;
Trong PHP có thể khai báo biến trước khi gán nhưng không bắt buộc. Nhưng
nhớ là khi sử dụng trong biểu thức thì biến đã được khai báo hoặc đã được gán.
9
Biến trong PHP không bị cố định sử dụng với một kiểu dữ liệu nào đó, nó có
thể là số, ký tự, sâu ký tự. Không như C# khi khai báo biến là số nguyên mà gán
cho biến đó sâu ký tự thì là lỗi, nhưng PHP khơng có cơ chế này. Điều này
được cái linh hoạt nhưng lại dễ để lại bugs.
Một biến được sử dụng trước khi gán giá trị cho nó thì nó có các giá trị mặc
định.
PHP có cơ chế tự động chuyển kiểu dữ liệu tùy theo tình huống sử dụng. Ví dụ
biến $a = 5 ($a lưu trữ số ngun 5) thì tùy cách sử dụng sau này có thể hiểu $a
là số 5, $ là ký tự '5', $a là sâu ký tự: $b = $a+5; $c = $a.'10';
Kiểu dữ liệu trong PHP có 8 loại khởi tạo biến như sau:
Kiểu dữ liệu đơn giản
o Số nguyên : ví dụ 2017.
o Kiểu Double (số thực).
o Kiểu Boolean: logic với giá trị true hoặc false.
o NULL: kiểu này cho biết biến chẳng có gì cả (trống rỗng).
o Sâu ký tự, là chuỗi các ký tự ví dụ 'Lập trình PHP'.
Kiểu dữ liệu phức tạp
o Mảng (Array): là tập hợp các giá trị trong một thứ tự.
o Object: đó là thực thể do PHP sinh ra từ các định nghĩa lớp, thực thể này
chứa trong nó dữ liệu và các hàm thi hành.
Kiểu dữ liệu đặc biệt:
o Resource (Tài nguyên): là một kiểu biến đắc biện, nó nắm giữ thông tin
tham chiếu tới các tài nguyên ngoài phạm vị PHP (như kết nối dữ liệu).
1.1.3.6. Các cấu trúc lệnh
Câu lệnh if else: câu lệnh này cho phép chúng ta kiểm tra một điều kiện nào đó,
nếu đúng(true) thì thực hiện tiếp những gì trong block của if, nếu sai thì thực hiện các
câu lệnh trong else.
Cú pháp:
if ( expression )
statement 1;
else
statement 2;
10
hoặc
if(expression):
statement;
endif;
Câu lệnh switch case: nếu có nhiều điều kiện ràng buộc thay vì phải if else nhiều
lần ta có thể sử dụng switch case để thay thế.
Cú pháp:
switch (expression)
{
case label1:
code to be executed if expression = label1;
break;
case label2:
code to be executed if expression = label2;
break;
default:
code to be executed if expression is different from both label1 and
label2;
}
Câu lệnh while: nếu biểu thức trong while trả về giá trị TRUE thì tiếp tục thực
hiện câu lệnh, sau khi thực hiện câu lệnh thì kiểm tra lại biểu thức, nếu vẫn cịn trả về
giá trị TRUE thì lại tiếp tục thực hiện câu lệnh...cứ tiếp tục như vậy cho tới khi nào
biểu thức trả về giá trị FALSE thì thốt khỏi vịng lặp.
Cú pháp:
while (condition)
{
code to be executed;
}
hoặc
while(condition):
code to be executed;
11
endwhile;
Câu lệnh do while: Vòng lặp này giống như vịng lặp while, nhưng thay vì kiểm
tra điều kiện vào lúc đầu của đoạn lệnh cần lặp, thì nó lại kiểm tra giá trị điều kiện vào
cuối vòng lặp. Điều này có nghĩa là nó ln ln thực hiện đoạn lệnh cần lặp ít nhất
một lần.
Cú pháp:
do{
code to be executed;
}
while(condition);
for (init counter; test counter; increment counter) {
code to be executed;
}
hoặc
for (init counter; test counter; increment counter):
code to be executed
endfor;
init counter: khởi tạo giá trị đếm ban đầu cho vòng lặp
test counter: điều kiện kiểm tra để tiếp tục vòng lặp
increment counter: tăng giá trị biến đếm
foreach ( $array as $value ){
statement;
}
hoặc
foreach ( $array as $key => $value ){
statement;
}
1.1.3.7. Biểu thức trong PHP
- Toán tử gán
Đây là tốn tử thơng dụng nhất trong mọi ngơn ngữ, ta dùng dấu = để gán giá trị
12
cho một biến bất kỳ nào đó.
- Biểu thức số học
Các phép toán thường được thực hiện theo một thứ tự cụ thể gọi là độ ưu tiên để
đưa ra giá trị cuối cùng (sẽ đề cập đến sau). Các biểu thức số học trong các ngôn ngữ
được thể hiện bằng cách sử dụng các toán tử số học cùng với các toán hạng dạng số
hoặc ký tự (biến). Những biểu thức này gọi là biểu thức số học.
Ví dụ: $ketqua = $a + $b/2;
$ketqua = $a / 7;
$ketqua = $a + ($b = 5 + 6);
Như ta thấy trên toán hạng có thể là hằng, biến hay kết hợp cả 2, và mỗi biểu
thức có thể kết hợp của nhiều biểu thức con. Định nghĩa hằng và biến như thế nào
chúng ta đã đề cập ở biến và hằng số Trong PHP.
-Toán tử quan hệ
Toán tử quan hệ cũng là một định nghĩa trong bài toán tử và biểu thức trong php,
được dùng để kiểm tra mối quan hệ giữa hai biến hay giữa một biến và một hằng số.
Ví dụ kiểm tra 2 biến $a và $b xem biến nào lớn hơn ta làm như sau: ($a > $b) và kết
quả của biểu thức này sẽ trả về kiểu boolean TRUE hoặc FALSE.
Như tôi đã đề cập ở bài các kiểu dữ liệu trong php, kiểu boolean có giá trị là
FALSE cho tất cả các giá trị bằng 0, ký tự rỗng hoặc null. Để so sánh 2 toán hạng ta
làm như sau ($a == $b). Các bạn lưu ý rằng phép tốn mà có 1 dấu bằng là phép gán,
cịn 2 dấu bằng là phép so sánh.
Bảng sau đây mô tả ý nghĩa của các toán tử quan hệ.
Toán Tử Quan Hệ === dùng để so sánh giá trị giữa các biến và hằng đúng theo
giá trị và kiểu dữ liệu của nó, nếu ta sử dụng 2 dấu bằng === để so sánh ($a==$b) thì
lúc này $a và $b chỉ so sánh giá trị và trả về true nếu $a bằng $b.
13
Giả sử $a=123 là kiểu string, $b=123 là kiểu int thì phép ($a==$b) cho kết quả
là true, còn phép ($a===$b) sẽ cho kết quả là false vì 2 biến tuy giá trị bằng nhau
nhưng khơng cùng kiểu dữ liệu.
- Tốn tử luận lý
Toán tử luận lý là ký hiệu dùng để kết hợp hay phủ định biểu thức có chứa các
tốn tử quan hệ, những biểu thức dùng toán tử luận lý trả về giá trị TRUE hoặc
FALSE.
Bảng sau đây mơ tả các tốn tử luận lý trong PHP
Độ ưu tiên toán tử luận lý
Độ ưu tiên theo thứ tự như sau: NOT -> AND -> OR
Độ ưu tiên các toán tử
Độ ưu tiên các tốn tử thiết lập thứ tự ưu tiên tính tốn của một biểu thức. Tóm
lại độ ưu tiên trong PHP đề cập đến thứ tự các phép tính mà PHP sẽ biên dịch trước.
Các toán tử và biểu thức trong php có sự liên hệ lẫn nhau, tốn tử kết hợp toán hạng
tạo thành biểu thức.
Bảng thứ tự ưu tiên của các toán tử số học.
Những toán tử nằm cùng một hàng có cùng độ ưu tiên và cấp độ ưu tiên đi từ trên
xuống dưới. Việc tính tốn biểu thức số học sẽ được tính tốn từ trái qua phải và ưu
tiên trong ngoặc trước kết hợp với độ ưu tiên trong bảng (như trong tính tốn thường
thì nhân chia trước, cộng trừ sau ưu tiên trong ngoặc).
14