Tải bản đầy đủ (.pdf) (69 trang)

Lập trình PHP nâng cao

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 (15.21 MB, 69 trang )

1
PHP Advances
Luong Tran Hy Hien, FIT of HCMUP
Nội dung
1. Hướng đối tượng
2. Truyền nhận dữ liệu (POST/GET)
3. Cookies, Sessions
4. Xử lý ngày tháng
5. Xử lý tập tin & thư mục
6. Upload tập tin lên Server
7. Hình ảnh
8. E-mail, Secure E-mail
9. Xử lý lỗi
2
1. Hướng đối tượng
• Khai báo lớp
• Hàm tạo
• Phạm vi
• Kế thừa
• Hàm serialize,unserialize
3
1. Hướng đối tượng (tt)
• Khai báo
• Hàm tạo
4
5
1. Hướng đối tượng (tt)
• Khai báo lớp
class tên_lớp
{
các thuộc tính và phương thức


}
• Tạo và hủy một đối tượng
$tên_biến = new tên_lớp();
Đối tượng sẽ tự động bị hủy khi không còn tham chiếu
nào đến nó
$tên_biến = NULL;
1. Hướng đối tượng (tt)
• Các từ khóa khai báo:
– public: có thể sử dụng bên ngoài lớp
– private: chỉ sử dụng cục bộ bên trong lớp
– protected: sử dụng được bởi các lớp kế thừa
• Một số quy tắc chung:
– Không thể khai báo hai method trùng tên
– Method phải được khai báo ngay bên trong khai
báo lớp
– Dùng biến giả $this để truy xuất các member và
method trong lớp
– Dùng toán tử -> để truy xuất đến member và
method
6
1. Hướng đối tượng (tt)
• Khai báo constructor và destructor
public function __construct(danh sách tham số)
{
khởi tạo giá trị các member
}
constructor được tự động thực hiện khi đối tượng được tạo
public function __destruct()
{
dọn dẹp

}
destructor được tự động thực hiện khi đối tượng bị hủy
7
7
8
1. Hướng đối tượng (tt)
1. Hướng đối tượng (tt)
• Khai báo
const TÊN_HẰNG = giá trị;
• Truy xuất
tên_lớp::TÊN_HẰNG // ngoài lớp
seft::TÊN_HẰNG // trong lớp
9
1. Hướng đối tượng (tt)
• Khai báo
… static $thuộc_tính
• Truy xuất
tên_lớp::$thuộc_tính// ngoài lớp
seft::$thuộc_tính // trong lớp
10
1. Hướng đối tượng (tt)
• Khai báo
– … static function phương_thức(…)
• Truy xuất
– tên_lớp::phương_thức(…) // ngoài lớp
– seft:: phương_thức(…) // trong lớp
11
1. Hướng đối tượng (tt)
• Khai báo lớp con
class lớp_con extends lớp_cha

{
các thuộc tính và phương thức
}
Tất cả các member và method được khai báo
public hay protected trong lớp cha được thừa kế
và có thể sử dụng trong lớp con
12
Phương thức nạp chồng
• Gọi một method lớp cha
parent::phương_thức(…)
Bằng cách định nghĩa lại một phương thức đã có ở lớp
cha, tất cả các lời gọi đến phương thức này mà không
chỉ định rõ như trên sẽ được hiểu là gọi phương thức có
cùng tên của lớp con
13
Sự đa hình
• Khai báo lớp trừu tượng
abstract class lớp_trừu_tượng
{
// các thuộc tính
abstract public function
phương_thức_trừu_tượng(…);

// các phương thức khác
}
Không thể tạo đối tượng trực tiếp từ lớp trừu tượng
Lớp con bắt buộc phải định nghĩa các phương thức trừu
tượng của lớp cha
14
Ngăn kế thừa và nạp chồng

• Lớp không thể kế thừa
final class không_thể_kế_thừa { … }
• Phương thức không thể nạp chồng
final public function không_thể_nạp_chồng(…) { … }
15
interface
• Khai báo Interface
interface giao_diện
{
public function phương_thức();

}
• Khai báo lớp theo mẫu Interface
abstract class tên_lớp implements giao_diện
{

}
Các lớp sử dụng Interface hay kế thừa từ một lớp sử dụng Interface
bắt buộc phải định nghĩa tất cả các phương thức trong Interface đó
16
17
1. Hướng đối tượng (tt)
18
1. Hướng đối tượng (tt)
1. Hàm serialize() dùng để lưu trữ đối tượng, hàm trả về một chuỗi các byte để lưu
thông tin của đối tượng
2. Hàm unserialize() dùng để khôi phục đối tượng được lưu giữ bởi hàm serialize()
<?php
class AClass {
var $a;

function AClass() {
}
};
$ob1 = new AClass();
$ob1->a = 10;
$ob1->b = 100;
$ob1->c = “Nguyen Ngoc Thuy Hang";
$luu = serialize($ob1);
echo "$luu <br>";
$ob2 = unserialize($luu);
var_dump($ob2);
?>
2. Truyền nhận dữ liệu (POST/GET)
2.1 Cơ chế truyền nhận dữ liệu
2.2 Các cách truyền nhận dữ liệu
19
Cơ chế truyền nhận dữ liệu
2
Internet
or Intranet
www.example.com
Webserver
7
Yêu cầu trang b.php
Cơ chế truyền nhận dữ liệu
?
7
www.example.com
Webserver
Cơ chế truyền nhận dữ liệu

2
Internet
or Intranet
Yêu cầu trang xlDangnhap.php
Textbox : txtDangnhap
Password Box: txtDangnhap
txtDangnhap = admin
txtDangnhap = phpAdmin
2. Truyền nhận dữ liệu (POST/GET)
• Trang web nhập dữ liệu
– Cách 1: truyền dữ liệu trực tiếp qua url
• Sử dụng liên kết để sửa lại url
• Thông qua đối tượng location
– Cách 2: truyền dữ liệu thông qua form
• Sử dụng đối tượng <form>
• Nhập liệu thông qua các formfield
• Thực hiện việc truyền dữ liệu thông qua submit
• Hai phương thức gởi dữ liệu GET / POST
• Trang web nhận dữ liệu (dùng các biến toàn cục)
– Cách 1: $_GET[“biến”]
– Cách 2: $_POST[“biến”]
– Cách 3: $_REQUEST[“biến”]
23
3. Cookies, Sessions
3.1 Cookies là gì?
3.2 Sử dụng cookies
3.3 Ví dụ Cookies
3.4 Session là gì?
3.5 Sử dụng session
3.6 Ví dụ session

24
3.1 Cookies là gì?
 Là những mẫu tin được server lưu xuống máy
của client
 Mỗi lần client gửi request 1 trang web, đồng thời
sẽ gửi kèm file cookie đã lưu lần trước lên server.
 Việc xử lý thông tin (lưu, lấy) trong cookie do
server thực hiện.
 Thường được sử dụng để lưu thông tin cá nhân
của client.
25
Webserver
cookie
setcookie
$_COOKIE
Client

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×