You are on page 1of 46

LẬP TRÌNH PHP 1

BÀI 1: TỔNG QUAN VỀ PHP


PHẦN 1
Nội dung bài học

• Tổng quan lập trình PHP


• Kiến trúc Client – Server
• Ứng dụng web
• Khai báo biến trong PHP
• Sử dụng kiểu dữ liệu
• Biểu thức trong PHP

2
TÊN GỌI CỤ THỂ CỦA PHP VÀ XAMPP

❑Ý nghĩa chữ viết tắt XAMPP là gì? XAMPP hoạt


động dựa trên sự tích hợp của 5 phần mềm
chính là Cross-Platform (X), Apache (A),
MariaDB (M), PHP (P) và Perl (P), nên tên gọi
XAMPP cũng là viết tắt từ chữ cái đầu của 5
phần mềm này:
• Chữ X đầu tiên là viết tắt của hệ điều hành mà
nó hoạt động với: Linux, Windows và Mac OS X.
• Apache: Web Server mã nguồn mở Apache là
máy chủ được sử dụng rộng rãi nhất trên toàn
thế giới để phân phối nội dung Web. Ứng dụng
được cung cấp dưới dạng phần mềm miễn phí
bởi Apache Software Foundation.
3
TÊN GỌI CỤ THỂ CỦA PHP VÀ XAMPP

• MySQL / MariaDB: Trong MySQL, XAMPP chứa một


trong những hệ quản trị cơ sở dữ liệu quan hệ phổ biến
nhất trên thế giới. Kết hợp với Web Server Apache và
ngôn ngữ lập trình PHP, MySQL cung cấp khả năng lưu
trữ dữ liệu cho các dịch vụ Web. Các phiên bản XAMPP
hiện tại đã thay thế MySQL bằng MariaDB (một nhánh
của dự án MySQL do cộng đồng phát triển, được thực
hiện bởi các nhà phát triển ban đầu).
• PHP(Hypertext Preprocessor):Ngôn ngữ lập trình
phía máy chủ PHP cho phép người dùng tạo các trang
Web hoặc ứng dụng động. PHP có thể được cài đặt trên
tất cả các nền tảng và hỗ trợ một số hệ thống cơ sở dữ
liệu đa dạng.
• Perl: ngôn ngữ kịch bản Perl được sử dụng trong quản
trị hệ thống, phát triển Web và lập trình mạng. Giống
như PHP, Perl cũng cho phép người dùng lập trình các
ứng dụng Web động.
4
KIẾN TRÚC CLIENT – SERVER

5
KIẾN TRÚC CỦA ỨNG DỤNG WEB

▪ Máy chủ web (web server): máy chủ chuyên chia


sẻ trang web
▪ Trình duyệt web (web browser): ứng dụng phía
người dùng để kết nối với máy chủ web, lấy
thông tin từ máy chủ và hiển thị thông tin trên
cửa sổ trình duyệt
▪ Mạng (network): hệ thống trao đổi thông tin cho
phép máy khách và máy chủ có thể giao tiếp với
nhau

6
WEB TĨNH

7
WEB ĐỘNG

8
ỨNG DỤNG WEB

9
WEB BROWSER

Internet
Phát hành bởi Microsoft. Hiện chỉ có phiên bản trên Windows.
Explorer

Phát hành bởi Mozilla Corporation. Có tất cả các phiên bản


Firefox
trên các hệ điều hành chính như Windows, MacOS, Linux

Phát hành bởi Apple. Có phiên bản trên OSX và Windows.


Safari

Phát hành bởi Opera Software. Có tất cả các phiên bản trên
các hệ điều hành phổ biến và có một phiên bản rút gọn rất
Opera
được ưa dùng trên điện thoại di động và PDA.

Phát hành bởi Google. Hiện chỉ có phiên bản trên Windows
Chrome

10
MÁY CHỦ WEB

Là máy chủ web mã nguồn mở có thể được vận hành


trên bất cứ hệ điều hành phổ dụng nào hiện nay.
Apache hỗ trợ nhiều ngôn ngữ kịch bản phía máy chủ
Apache
và có thể tương tác với nhiều máy chủ dữ liệu khác
nhau. Bộ tứ hoàn hảo nhất được biết đến là LAMP,
nghĩa là Linux, Apache, MySQL và PHP

Là máy chủ web do Microsoft phát hành và chỉ chạy


IIS trên Windows. Mục đích chính là hỗ trợ ASP.NET và MS
SQL Server

11
DATABASE SERVER

Cơ sở dữ liệu mã nguồn mở, sẵn dùng cho tất


MySQL
cả các hệ điều hành phổ biến
Máy chủ cơ sở dữ liệu của Oracle, sẵn dùng cho
Oracle
tất cả các hệ điều hành phổ biến
Máy chủ cơ sở dữ liệu của IBM, sẵn dùng cho
DB2
tất cả các hệ điều hành phổ biến
Máy chủ cơ sở dữ liệu của Microsoft, chỉ chạy
MS SQL
trên HĐH Windows

12
NGÔN NGỮ PHÍA SERVER
Thường được sử dụng với Apache nhưng hiện cũng được IIS hỗ
PHP
trợ, xử lý các file có đuôi .php.
Sử dụng bởi Microsoft IIS. ASP.NET sử dụng tên đuôi .aspx và làm
ASP.NET việc chủ yếu với các ứng dụng được viết trên C# hoặc Visual Basic

Được phát triển cho mục đích xử lý văn bản bằng dòng lệnh của
Pearl
UNIX và viết các ứng dụng web. Perl sử dụng đuôi .pl

Được dùng để phát triển nhiều loại ứng dụng trong đó có ứng
Python dụng web. Python được sử dụng chủ yếu với Apache và có đuôi là
.py.
Cần thêm một máy chủ ứng dụng như Tomcat server, được phát
triển miễn phí bởi Công ty Apache Software Foundation. Các
JSP
trang JSP sử dụng đuôi .jsp và chủ yếu làm việc với servlet được
viết trên ngôn ngữ Java
13
PHP LÀ GÌ?

❑ PHP: Hypertext Preprocessor


❑ Ngôn ngữ lập trình kịch bản
❑ Phát triển các ứng dụng viết cho máy chủ
❑ Mã nguồn mở
❑ Nhúng vào các trang HTML

14
LỊCH SỬ PHÁT TRIỂN

1994 • PHP / FI

1997 • PHP 3

1998 • PHP 4

2004 • PHP 5

• PHP 7
2017

2019 • PHP815
LỊCH SỬ PHÁT TRIỂN

16
ỨNG DỤNG PHỔ BIẾN CỦA PHP

❑ PHP thực hiện các chức năng hệ thống, tức là từ các


tệp trên một hệ thống nó có thể tạo, mở, đọc, viết
và đóng chúng.
❑ PHP có thể xử lý các biểu mẫu, tức là thu thập dữ
liệu từ các tệp tin, lưu dữ liệu vào tệp, qua email bạn
có thể gửi dữ liệu, trả lại dữ liệu cho người dùng.
❑ Bạn thêm, xóa, sửa đổi các phần tử trong cơ sở dữ
liệu thông qua PHP.
❑ Truy cập các biến cookie và đặt cookie.
❑ Sử dụng PHP, bạn có thể hạn chế người dùng truy
cập một số trang của trang web của bạn.
❑ PHP có thể mã hóa dữ liệu.
17
CÁC ĐẶC TRƯNG CỦA PHP

Simplicity

Familiarity Efficiency

PHP

Flexibility Security

18
LẬP TRÌNH PHP 1
BÀI 1: TỔNG QUAN VỀ PHP
PHẦN 2
CÚ PHÁP PHP

❑ Sử dụng PHP
❑ Commenting code
❑ PHP phân biệt hoa thường
❑ Kết thúc câu bằng dấu ;
❑ Tạo khối lệnh

20
SỬ DỤNG PHP

❑ Cú pháp chuẩn

<?php ... ?>

❑ Cú pháp rút gọn

<? ... ?>

21
SỬ DỤNG COMMENT

❑ Là một phần mã lệnh của chương trình


❑ Không biên dịch trên Server

22
MÃ LỆNH PHP

❑ Mã lệnh PHP phân biệt hoa thường

❑Câu lệnh PHP kết thúc bằng dấu ;

❑ Khối lệnh trong PHP

23
LẬP TRÌNH PHP

Biến

Kiểu dữ liệu

Biểu thức

Câu lệnh điều khiển

Câu lệnh lặp

Hàm

Mảng

24
KHAI BÁO BIẾN

❑Khai báo biến

$variablename [=initial value];

❑ Ví dụ • Lưu ý
– Tên biến có phân biệt
chữ HOA – chữ thường
– Ví dụ: biến $t và biến $T
là hai biến khác nhau

25
KHAI BÁO BIẾN

❑ Khai báo biến


➢ Cú pháp: $tên_biến
➢ Ví dụ: $tong
❑ Quy tắc đặt tên cho biến
➢ Tên biến phải bắt đầu bằng ký tự $, theo sau
là 1 ký tự hoặc dấu _, tiếp đó là ký tự, ký số
hoặc dấu _
➢ Nên khởi tạo giá trị ban đầu cho biến
➢ Tên biến không trùng với tên hàm
➢ Biến không nên bắt đầu bằng ký số

26
BIẾN- PHẠM VI HOẠT ĐỘNG

• Biến cục bộ
– Biến được khai báo trong hàm => biến cục bộ
– Khi ra khỏi hàm => biến cục bộ và giá trị của nó sẽ bị
hủy bỏ

<?php
$a = 1; // phạm vi toàn cục
function Test()
{
echo $a; // phạm vi cục bộ
}
Test(); → không có
echo $a; → 1
?>

27
BIẾN- PHẠM VI HOẠT ĐỘNG

• Biến toàn cục


Có thể truy xuất bất cứ nơi nào trong trang
Khi muốn sử dụng và cập nhật biến toàn cục trong hàm
thì phải dùng từ khóa global phía trước biến hoặc dùng
$GLOBALS[“tên_biến”] <?php
$a = 1;
$b = 2;
<?php
$a = 1; function Sum()
$b = 2; {
function Sum() global $a, $b;
{ $b = $a + $b;
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
} }
Sum(); Sum();
echo $b; → 3 echo $b; → 3
?> ?>
28
BIẾN- PHẠM VI HOẠT ĐỘNG

• Biến static
– Không mất đi giá trị khi ra khỏi hàm
– Sẽ giữ nguyên giá trị trước đó khi hàm được gọi một
lần nữa
– Phía trước tên biến static phải có từ khóa static
<?php
function Test()
{
static $a = 0;
echo $a;
$a++;
}
Test(); → 0
Test(); → 1
Test(); → 2
?>
29
HẰNG

• Cú pháp: define(“TÊN_HẰNG”, giá_trị);

<?php
define(“chao”,”xin chào”);
echo chao;
//=> xin chào
?>

Chỉ có các kiểu dữ liệu boolean, integer, float, string


mới có thể chứa các hằng.

30
KIỂU DỮ LIỆU

❑ Boolean
❑ Integer
❑ Float
❑ String
❑ Object
❑ Array

31
BIỂU THỨC TRONG PHP

❑ 2,3: Toán hạng


❑ + : Toán tử

32
TOÁN HẠNG

❑ Hằng số

❑ Biến

❑ Hàm (có giá trị trả về)

33
TOÁN TỬ

+
-
Arithmetic *
/
%
>
<
>=
Relational
<=
!=
==
!
Logical &&
||

34
TOÁN TỬ …

Assignment =
++
--
+=
-=
*=
/=
%=
|=
&=
^=
.=
Allocation new
Selection ? :

35
CÁC HÀM KIỂM TRA GIÁ TRỊ CỦA BIẾN

• Kiểm tra tồn tại isset()


• Kiểm tra giá trị rỗng empty()
• Kiểm tra trị kiểu số is_numeric()
• Kiểm tra kiểu dữ liệu của biến
• Xác định kiểu của biến gettype()

36
CÁC HÀM KIỂM TRA GIÁ TRỊ CỦA BIẾN

KIỂM TRA TỒN TẠI: ISSET()


• Ý nghĩa: dùng để kiểm tra biến có giá trị hay không
• Cú pháp: isset(<tên biến 1>, <tên biến 2>, …)
• Kết quả trả về:
– TRUE: nếu tất cả các biến đều có giá trị
– FALSE: nếu một biến bất kỳ không có giá trị

<?php
if(isset($_POST[”bt_xac_nhan”], $_POST[”ten_dn”]))
echo ”Xin chào ”.$_POST[”ten_dn”];
else
echo ”Vui lòng nhập tên đăng nhập”;
?>

37
CÁC HÀM KIỂM TRA GIÁ TRỊ CỦA BIẾN

KIỂM TRA GIÁ TRỊ RỖNG: EMPTY()


• Ý nghĩa: dùng để kiểm tra biến có giá trị rỗng hay không
• Cú pháp: empty(<tên biến>)
– Kết quả trả về:
• TRUE: nếu biến có giá trị rỗng
• FALSE: nếu một biến có giá trị khác rỗng
– Các giá trị được xem là rỗng:
• “” (chuỗi rỗng), NULL
• 0 (khi kiểu là integer), FALSE, array()
• var $var (biến trong lớp được khai báo nhưng không
có giá trị)
38
CÁC HÀM KIỂM TRA GIÁ TRỊ CỦA BIẾN

KIỂM TRA TRỊ KIỂU SỐ: IS_NUMERIC()


• Ý nghĩa: dùng để kiểm tra biến có giá trị kiểu số hay không
• Cú pháp: is_numeric(<tên biến>)
– Kết quả trả về:
• TRUE: nếu biến có giá trị kiểu số
• FALSE: nếu biến có giá trị không phải kiểu số

39
CÁC HÀM KIỂM TRA GIÁ TRỊ CỦA BIẾN

KIỂM TRA KIỂU DỮ LIỆU CỦA BIẾN

• is_int() / is_long()
• is_string()
• is_double()
– Ý nghĩa: kiểm tra giá trị của biến có phải là kiểu integer -
long – string – double hay không
– Cú pháp chung: tên_hàm(<tên_biến>)

40
CÁC HÀM KIỂM TRA GIÁ TRỊ CỦA BIẾN

XÁC ĐỊNH KIỂU CỦA BIẾN: GETTYPE()


• Ý nghĩa; kiểm tra biến hoặc giá trị có kiểu dữ liệu nào:
integer, string, double, array, object, class, …
• Cú pháp: gettype(<tên biến> hoặc <giá trị>)
• Kết quả trả về: kiểu của giá trị hay kiểu của biến

41
ECHO VÀ PRINT

CÓ 2 CÁCH CƠ BẢN ĐỂ IN ĐẦU RA TRONG PHP

• echo
• print
➢ Chúng ta có thể sử dụng các câu lệnh này để
xuất ra các biến hoặc chuỗi.
➢ Sự khác nhau giữa echo và print

42
ECHO VÀ PRINT
ECHO
•echo là một câu lệnh, được sử dụng để hiển thị đầu ra.
•echo có thể được sử dụng có hoặc không có dấu ngoặc
đơn.
•echo không trả về bất kỳ giá trị nào.
•Chúng ta có thể truyền vào nhiều chuỗi được phân
tách bằng dấu phẩy (,) trong echo.
•echo nhanh hơn print statement.
•Ví dụ

43
ECHO VÀ PRINT
PRINT
•print cũng là một câu lệnh, được sử dụng thay thế cho
echo để hiển thị đầu ra.
•print có thể được sử dụng có hoặc không có dấu ngoặc
đơn.
•print luôn trả về một giá trị nguyên, là 1.
•Sử dụng print, chúng ta không thể truyền nhiều đối
số.
•print chậm hơn câu lệnh echo.
•Ví dụ

44
Tổng kết bài học

• Tổng quan lập trình PHP


• Kiến trúc Client – Server
• Ứng dụng web
• Khai báo biến trong PHP
• Sử dụng kiểu dữ liệu
• Biểu thức trong PHP

47
48

You might also like