Bài giảng Lập trình viên mã nguồn mở (Module 1) - Bài 3: Xây dựng phương thức (hàm) và xử lý lỗi trình bày các nội dung chính sau: Phương thức hàm, xây dựng phương thức hàm, xử lý lỗi. Mời các bạn cùng tham khảo để nắm nội dung chi tiết bài giảng.
Trang 1
Trường ĐH Khoa Học Tự Nhiên Tp Hồ Chí Minh TRUNG TÂM TIN HỌC
LTV MÃ NGUÒN MỞ PHP
Module 1 - Bài 3: Xây dựng phương thức (hàm) và xử lý lỗi Ngành LT & CSDL (3h.vn Cong GUC MediaFire
Trang 2Lap trinh vién mad nguén mo PHP — Module 1
Noi dung
1 Phwong thức (hàm)
2 Xây dựng phương thức (ham)
3 Xử lý lỗi LTV Mã nguồn mở PHP - Module 1 Phương thức (hàm) Khái niệm @ ©) Xây dựng phương thức Thực hiện (hàm) cùng một nghiệp vụ trong thực tế nhiều lần Pp ^ nhiêu lân TÀI ©; [TH LTV Ma nguon mo PHP — Module 1 ¬
Function là một đoạn code đặc biệt được viết đề thực hiện một công việc nào đó thường được lặp đi lặp lại Phương thức
(hàm) -
function
Bản quyền © Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên | Xuất bản bởi ®Cơng GMC Trang 23
Cong GUC
Trang 3sss, Phương thức (hàm) esos O Phan loai
e Built-in function: ham do PHP cung cấp Có trên
700 hàm chia thành nhiều nhóm: chuỗi, tốn học,
thời gian, lịch, mảng, tập tin, mail, xử lý CSDL chỉ
cần gọi hàm khi sử dụng và truyền vào các giá trị
phù hợp dựa trên danh sách các tham số
“ Ví dụ: $SO = 121.1542; round($so,2); — 121.15 round ($so,-1); — 120 đate("3/m/Y"); — 15/01/2014 ĐÓ LTV Ma nguồn mở PHP - Module 1 4 th Phương thức (hàm) esos UPhan loai
e User defined function: ham do nguo’ dung
tu dinh nghia
“ Ví dụ:
// ax + b =0
snghiem = Giai phuong trinh bac I(2, 4);
àứ LTV Mã nguồn mở PHP - Module 1 5
Bản quyền © Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên | Xuất bản bởi ®Cơng GMC Trang 24
Cong GUC
Trang 4Lap trinh vién mad nguén mo PHP — Module 1 Noi dung 4 Phương thức (ham) 2 Xây dựng phương thức (hàm) 3 Xử lý lỗi H LTV Ma nguén ma PHP — Module 1 Xây dựng phương thức (hàm) Khai báo £unction
Tên hàm(Danh sách các tham số) {
khối lệnh bên trong hàm
return giá trị;
LTV Mã nguồn mở PHP - Module 1
e Trong đó:
Tên hàm: được sử dụng khi gọi hàm, tên hàm nên
có ý nghĩa gợi nhớ
- Danh sách các tham số:
dùng đề truyền dữ liệu bên ngồi vào, hàm có thế có hoặc khơng có tham số - Giá trị: là kết quả trả về
của hàm Hàm có thê có
hoặc khơng có giá trị trả
về
7
Bản quyền © Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên | Xuất bản bởi ®Cơng GMC Trang 25
Cong GIIC
Trang 5
Xây dựng phương thức (hàm)
eV⁄í dụ: Xây dựng hàm tính điện tích hình chữ nhật
function Tinh S hcn($a, $b) { $S = $a * $b; return $S; f LTV Mã nguồn mở PHP - Module 1 Sứ LTV Mã nguồn mở PHP - Module 1 8 eee eeoeo eecen ~ + ` cece
Xây dựng phương thức (hàm) ese
USu dung
Tên hàm(Danh sách các giá trị)
e [rong đó:
- Tên hàm gọi sử dụng phải giống tên hàm đã xây dựng
= Danh sách các giá trị: cung cấp các thông tin cho tham số
của hàm Với:
- Số lượng các giá trị bằng số lượng các tham số của hàm - Thứ tự tương ứng theo thứ tự các tham số
- Kiểu dữ liệu của giá trị phải tương ứng với kiểu của tham số
- Nếu hàm khơng có giá trị truyền vào thì phía sau tên hàm cũng phải có
cặp ()
¢
Bản quyền © Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên | Xuất bản bởi ®Cơng GMC Trang 26
Cong GIIC
Trang 6Lap trinh vién mad nguén mo PHP — Module 1
Xây dựng phương thức (hàm)
eVí dụ: gọi sử dụng hàm tính diện tích hình chữ nhật $s = Tỉnh S hcn(4, 8); | | @ LTV Mã nguõn mở PHP - Module 1 ; 10 Xây dựng phương thức (hàm)
Phân loại tham số của hàm
eCó 2 loại:
» Tham trị: truyền tham số theo giá trị " Tham biến: truyền tham số theo địa chỉ
| |
@ LTV Mã nguồn mở PHP - Module 1 11
Bản quyền © Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên | Xuất bản bởi ®Cơng GMC Trang 27
Cong GUC
Trang 7sess°
Xây dựng phương thức (hàm) ose:
OTham tri
e Tham số truyền giá trị từ bên ngoài vào cho hàm
e Khi thay đổi giá trị của tham trị bên trong
hàm thì giá trị của nó ở ngồi hàm vẫn khơng bị thay đổi
ie LTV Ma nguén ma PHP — Module 1 12
th
Xây dựng phương thức (hàm) esos
e\V/i du
function them_vao_chuoi ($chuoi)
{
$chuoi = "và chuỗi sau khi thêm ";
return $chuoi;
}
$chuoi goc= "Đây là chuỗi gốc, ";
echo them vao chuoi ($chuoi goc); // "Đây là chuỗi gốc, và chuỗi sau khi thém.«
echo $chuoi goc ; // "Đây là chuỗi gốc, "
bd LTV Mã nguồn mở PHP - Module 1 13
Bản quyền © Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên | Xuất bản bởi ®Cơng GMC Trang 28
Cong GUC
Trang 8Lap trinh vién mad nguén mo PHP — Module 1 Xây dựng phương thức (hàm) đc Tham biến
e Tham số truyền giá trị từ bên ngoài cho hàm
và trả giá trị ở trong hàm ra bên ngoài
e Khi thay đổi giá trị của tham biến bên trong hàm thì giá trị của nó ở ngoài hàm cũng sẽ thay đổi sau khi chúng ta gọi hàm đã xây dựng
eĐối với tham biến chúng ta sẽ sử dụng cú
pháp với ký tự & ° pie moe :
Xây dựng phương thức (hàm) đc
eCú pháp:
function Tên hàm(&Tên tham biến, .)
{
Tên tham biến = giá tri;
return ;
LTV Mã nguồn mở PHP - Module 1 15
Bản quyền © Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên | Xuất bản bởi ®Cơng GMC Trang 29
Cong GUC
Trang 9
Xây dựng phương thức (hàm) ss:
eVí du:
function them _vao_chuoi (&$chuoi)
{
$chuoi = "và chuỗi sau khi thêm ";
return Schuoi;
}
$chuoi goc= "Đây là chuỗi gốc, ";
echo them_vao_chuoi($chuoi_goc); // "Day 1a chuỗi
gôc, và chuôi sau khi thêm "
echo $chuoi_goc;
// "Đây là chuỗi gốc, và chuỗi sau khi thêm."
2 LTV Ma nguén ma PHP — Module 1 16 Xây dựng phương thức (hàm) ss: Tham số tùy chọn
eLà những tham số có thê được truyền giá tri
hoặc không
eCho phép tạo sẵn các giá trị mặc định cho
tham số
e Những tham số này chỉ xuất hiện ở cuối danh sách các tham sô
74 Cong GUC
TH LTV Mã nguồn mở PHP - Module 1 17 MediaFire
Trang 10
Lap trinh vién mad nguén mo PHP — Module 1 eeoeo eecen ˆ „ ees°
Xây dựng phương thức (hàm) ese
eCu phap
function Tén_ham(Danh sach cac tham tri, tham
biên, $tham số tùy chọn=giá trị) {
khối lệnh bên trong hàm return giá trị; } Sứ LTV Mã nguồn mở PHP - Module 1 18 eee eeoeo eecen ˆ „ ees°
Xây dựng phương thức (hàm) ese
eVí dụ
function so_thich($nuoc_uong = "ca phé")
{
return "T6i thich uéng $nuoc_uong.";
}
echo so thich(); // "Tơi thích uống cà phê."
echo so thich("nước ép trái cây"); // "Tơi thích uống nước ép trái cây."
Sứ LTV Mã nguồn mở PHP - Module 1 19
Bản quyền © Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên | Xuất bản bởi ®Cơng GMC Trang 31
Cong GIIC
Trang 11eee eeee eeoen ôi HH Nội dung 332 4 Phương thức (hàm) 2 Xây dựng phương thức (hàm) 3 Xử lý lỗi LTV Mã nguồn mở PHP - Module 1 20 eee eeee eeoen ? lý lỗi 333 Xử ly loi ese ˆ = pare
UO) Phan loai loi
e Lỗi cú pháp (syntax error)
e Lỗi thực thi
e Lỗi luận lý
LTV Mã nguồn mở PHP - Module 1 21
Bản quyền © Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên | Xuất bản bởi ®Cơng GMC Trang 32
Cong GUC
Trang 12Lap trinh vién mad nguén mo PHP — Module 1 đc: Xử lý lỗi 333° eLỗi cú pháp
= Xuat hiện khi ta viết code
= )ược thông báo khi ta thực thi trang
* Nguyên nhân: Viết sai hoặc thiếu cú pháp
=“ Ví dụ: Một số lỗi sai thường gặp
- Tên biến có chứa khoảng trắng
- Thiếu ; cuối lệnh
- Sai do PHP có phân biệt ký tự thường và hoa
„ Chuỗi không bắt đầu và kết thúc bởi cặp nháy don ” hoặc nháy đôi “"
i LTV Mã nguồn mở PHP - Module 1 22
đc:
Xử lý lỗi 333°
eLỗi thực thi
= Xay ra khi ta thực thi trang
= Kho xac định hơn lỗi cú pháp
“ Nguyên nhân: Mở một tập tin đang tồn tại, chia
cho 0, truy xuất bảng không tôn tại trong CSDL
© LTV Mã nguồn mở PHP - Module 1 23
Bản quyền © Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên | Xuất bản bởi ®Cơng GMC Trang 33
Cong GIIC
Trang 13th Xử lý lỗi 333° eLỗi luận lý
= Xay ra khi ta thực thi trang
“ Được thê hiện dưới những hình thức hoặc những
kết quả không mong đợi
“ Nguyên nhân: Sai lầm trong thuật giải
i LTV Mã nguồn mở PHP - Module 1 24
th
Xử lý lỗi 333°
Sửa lôi
e Sửa lỗi thủ công
e Dùng try catch đề bắt lỗi
De LTV Mã nguồn mở PHP - Module 1 25
Bản quyền © Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên | Xuất bản bởi ®Cơng GMC Trang 34
Cong GUC
Trang 14Lap trinh vién mad nguén mo PHP — Module 1 eeoeo | Xử lý lỗi 333°
e Sủa lỗi thủ công
" Khi chạy chương trình, nếu có lỗi phát sinh thi
trang thực thi sẽ tự động thông báo lỗi „ Cách sửa lỗi:
- Xem thông báo lỗi và dòng xảy ra lỗi
- Mở code và sửa lỗi tại dịng đó (hoặc những dòng lân
cận) Sứ LTV Mã nguồn mở PHP - Module 1 26 eee eeoeo eecen > z Kae oooe Xw ly loi 33° e Dùng try catch dé bat léi
= Cho phép thử thực hiện một khói lệnh xem có bị
lỗi hay không, néu co sé bay và xử lý lỗi Cấu trúc có hai khối:
- Khối try: các câu lệnh có khả năng gây ra lỗi
- Khối catch: các câu lệnh để bẫy và xử lý lỗi phát sinh
trên khối try
“ Một lỗi xảy ra khi thực thi trang gọi là một
Exception
« Néu dong nao trong khối lệnh có kha nang tạo ra lỗi thì gọi trả về lỗi đó
© LTV Mã nguồn mở PHP - Module 1 27
Bản quyền © Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên | Xuất bản bởi ®Cơng GMC Trang 35
Cong GC
Trang 15eeoeo eeoen > z Ks ee°© Xw ly loi 33° ` R J x
e Dùng try catch đê bắt lôi
= Trong PHP lỗi sẽ không tự động trả về => gọi lỗi
đó bằng cú pháp sau:
throw new Exception("Câu thông báo lỗi",
code) ;
«Voi câu thơng báo lỗi và mã lỗi (code) đều là các tham số tùy chọn
“Lưu ý:
- Một khối try có thể dùng một hay nhiều khối catch
- Mỗi khối catch hiển thị một loại lỗi khác nhau
LTV Mã nguồn mở PHP - Module 1 28 eee eeoeo eeoen > z x ee°© Xw ly loi 33° eCu phap try { ~
- kh6i lệnh có khả năng phát sinh lỗi
- các lỗi
throw new Exception("Câu thông báo lỗi", code) ;
}
catch (Exception Se)
{
echo "<p>L6i: " $e->getMessage () "</p>";
//xuat 16i }
LTV Mã nguồn mở PHP - Module 1 29
Bản quyền © Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên | Xuất bản bởi ®Cơng GMC Trang 36
Cong GIIC