1. Trang chủ
  2. » Địa lí lớp 7

Bài giảng Phát triển ứng dụng Web – Web Programming: Chương 9 - ThS. Lương Trần Hy Hiến

82 10 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 82
Dung lượng 14,09 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sử dụng biến toàn cục Khai báo lại biến toàn cục với từ khóa global bên trong hàm để có thể sử dụng được biến toàn cục này bên trong hàm Sử dụng các hàm sau để lấy danh sách các tham số:[r]

Trang 1

PHP Basic

Luong Tran Hy Hien, FIT of HCMUP

Trang 3

1 Giới thiệu PHP – Lịch sử

• PHP : Rasmus Lerdorf in 1994 (được phát triển để phát sinhcác form đăng nhập sử dụng giao thức HTTP của Unix)

• PHP 2 (1995) : Chuyển sang ngôn ngữ script xử lý trên server

Hỗ trợ CSDL, Upload File, khai báo biến, mảng, hàm đệ quy,câu điều kiện, biểu thức, …

• PHP 3 (1998) : Hỗ trợ ODBC, đa hệ điều hành, giao thức email(SNMP, IMAP), bộ phân tích mã PHP (parser) của Zeev Suraski

và Andi Gutmans

• PHP 4 (2000) : Trở thành một thành phần độc lập cho cácwebserver Parse đổi tên thành Zend Engine Bổ sung các tínhnăng bảo mật cho PHP

• PHP 5 (2005) : Bổ sung Zend Engine II hỗ trợ lập trình HĐT,XML, SOAP cho Web Services, SQLite

• Phiên bản mới nhất của PHP là version PHP 5.5.4

Trang 4

1 Giới thiệu PHP – PHP là gì?

(script) với mục đích xây dựng trang Web cá nhân ( Personal Home Page ) Sau đó đã được phát triển thành một ngôn ngữ hoàn chỉnh

và được ưa chuộng trên toàn thế giới trong việc phát triển các ứng dụng Web.

Trang 5

1 Giới thiệu PHP – Ưu điểm

• Web Servers : Apache, Microsoft IIS, Caudium, Netscape Enterprise Server

• Hệ điều hành : UNIX (HP-UX, OpenBSD, Solaris, Linux), Mac OSX, Windows NT/98/2000/XP/2003/vista

• Hệ QTCSDL : Adabas D, dBase, Empress, FilePro only), Hyperwave, IBM DB2, Informix, Ingres, InterBase, FrontBase, mSQL, Direct MS-SQL, MySQL, ODBC, Oracle (OCI7 and OCI8), Ovrimos, PostgreSQL, SQLite, Solid, Sybase, Velocis, Unix dbm

(read-(Multi - Platform)

Trang 6

1 Giới thiệu PHP – Ưu điểm

PHP được sử dụng rộng rãi trên môi trường

phát triển web

Nguồn: http://php.net/usage.php

http://w3techs.com/technologies/overview/programming_language/all

Trang 7

Ưu điểm và khuyết điểm của PHP?

ƯU ĐIỂM Open source

Clearly code (HTML,JSP, )

The best DBMS support: Oracle

Open source

 Mix code (HTML,PHP)

The best DBMS support : MySQL

 Code same as: C

 Config: easy

 Community support: good

 Open source

Clearly code (HTML,.Net, )

The best DBMS support : SQL Server

Trang 8

8Một số website dùng PHP

Trang 9

2 Hoạt động của Web Server

CƠ CHẾ HOẠT ĐỘNG

Trang 10

2 Hoạt động của Web Server

cầu (request) các tập tin HTML

thi các đoạn mã viết bằng PHP

Application Programming Interface - để “hiểu” các lệnh của PHP và ASP

khác phục vụ cho việc triển khai ứng dụng web một cách hiệu quả

Trang 12

2 Hoạt động của Web Server

Trang 13

Sử dụng phương thức echo "Nội dung" để xuất thông tin lên trình duyệt.

2 Hoạt động của Web Server

Trang 14

2 Yêu cầu cài đặt

• Download Apache Server

Download Apache for free here :

http://httpd.apache.org/download.cgi

• Download PHP

Download PHP for free here :

http://www.php.net/downloads.php

• Download MySQL Database

Download MySQL for free here :

http://www.mysql.com/downloads/index.html

Trang 15

2 Yêu cầu cài đặt

Trang 16

2 Yêu cầu cài đặt

Sử dụng giải pháp trọn gói (All in One):

• LAMP – Linux

• WAMP – Windows

Trang 17

XAMPP - Tutorial

17

Trang 18

XAMPP - Tutorial

• Chỉnh port cho Server

18

Trang 19

XAMPP - Tutorial

• Chỉnh port cho Server

19

Trang 20

20

Trang 21

3 Cú pháp

• Phát biểu:

• Sử dụng <?php … ?> để đánh dấu lệnh PHP

dòng

• Ví dụ:

21

Trang 23

bất kỳ kiểu dữ liệu nào

Trang 25

3 Kiểu dữ liệu (tt)

25

• Kiểm tra kiểu dữ liệu

Trang 26

3 Kiểu dữ liệu (tt)

26

$seed = (float) microtime()*100000000;

// Khởi tạo bộ phát sinh số ngẫu nhiên

srand($seed);

// In số ngẫu nhiên

print rand(); // Giá trị ngẫu nhiên từ 0 đến getmaxrand( )

print rand(1, 6); // Giá trị ngẫu nhiên từ 1 đến 6

Tra hướng dẫntrong PHP Manual

Trang 27

printf ( "%%e = '%e'\n" , $n );

printf ( "%%u = '%u'\n" , $n );

printf ( "%%u = '%u'\n" , $u );

Trang 28

3 Kiểu dữ liệu (tt)

28

Hàm str_pad

<? php

$input = "Alien" ;

echo str_pad ( $input , 10 ); // produces "Alien "

echo str_pad ( $input , 10 , "-=" , STR_PAD_LEFT ); // produces "-=-=-Alien"

echo str_pad ( $input , 10 , "_" , STR_PAD_BOTH ); // produces " Alien _"

echo str_pad ( $input , 6 , " _" ); // produces "Alien_"

?>

Trang 29

4 Biến

29

• Không khai báo kiểu dữ liệu

• Biến tự động được khởi tạo khi gán giá trị lần đầu

• Tên biến

– Bao gồm các ký tự (A Z, a z), ký số(0 9),_

– Không được bắt đầu bằng ký số (0 9)

– Phân biệt chữ hoa – chữ thường

• Ví dụ:

– Đúng cú pháp: $hoten, $_pass

– Sai cú pháp: $2host

Trang 32

5 Toán tử (tt)

32

$a == $b Equal TRUE if $a is equal to $b.

$a === $b Identical TRUE if $a is equal to $b, and they are of the same type (PHP 4)

$a != $b Not equal TRUE if $a is not equal to $b.

$a <> $b Not equal TRUE if $a is not equal to $b.

$a !== $b Not identical TRUE if $a is not equal to $b, or they are not of the same type (PHP 4)

$a < $b Less than TRUE if $a is strictly less than $b.

$a > $b Greater than TRUE if $a is strictly greater than $b.

$a <= $b Less than or equal to TRUE if $a is less than or equal to $b.

$a >= $b Greater than or equal to TRUE if $a is greater than or equal to $b.

Trang 33

6 Chuỗi

• Toán tử nối chuỗi “.”

$str =“ Hello “ ” World! ”; // $str = “ Hello World! ”;

• Phân biệt dấu nháy đơn, dấu nháy kép

$user = “ Mr Bean ”;

print ‘ Hi $user ’; // Hi $user

print “ Hi $user ”; // Hi Mr Bean

print “ Hi ” $user; // ????

print “ Hi ” “$user”; // ????

33

Trang 34

6 Chuỗi (tt)

• Giới hạn bởi nháy đơn ( ‘ ) hoặc kép ( “ )

• Chuỗi đặt trong nháy kép bị thay thế và xử

lý ký tự thoát Trong nháy đơn thì không.

Trang 35

6 Chuỗi (tt)

• Để làm rõ các biến trong chuỗi, cần bao

biến vào giữa cặp ngoặc nhọn { }

Trang 36

6 Chuỗi (tt)

• Ký tự thoát: \

– Sử dụng để viết các ký tự đặc biệt trong chuỗi

– VD:

Cần có chuỗi: Người ta nói “PHP rất tốt”

$a = “Người ta nói “PHP rất tốt””; //Sai

Trang 37

6 Chuỗi (tt) – Kiểu tài liệu (heredoc)

– Cho phép viết 1 chuỗi trên nhiều dòng

Đây là chuỗi nằm trên nhiều dòng sử

dụng cú pháp kiểu tài liệu ‘heredoc’

Trang 38

6 Chuỗi (tt) – Kiểu tài liệu (heredoc)

38

<?php

$str = <<<EOA

Example of string <br>

spanning multiple lines<br>

using heredoc syntax.<br>

EOA;//không được có khoảng trắng đầu dòng

Trang 39

– iconv(mã nguồn, mã đích, $chuỗi)

– ltrim ($chuỗi, ’ký tự muốn cắt’)

– rtrim ($chuỗi, ’ký tự muốn cắt’)

39

Trang 40

6 Chuỗi (tt)

– strpos ($chuỗi, $chuỗi_con, $vị_trí_bắt đầu)

– strrpos ($chuỗi, $chuỗi_con, $vị_trí_bắt đầu)

– strcmp ($chuỗi_1, $chuỗi_2)

– strncmp ($chuỗi_1, $chuỗi_2, $chiều_dài)

– strcasecmp ($chuỗi_1, $chuỗi_2)

– strncasecmp ($chuỗi_1, $chuỗi_2, $chiều_dài)

– strnatcmp ($chuỗi_1, $chuỗi_2)

– strnatcasecmp ($chuỗi_1, $chuỗi_2)

40

Trang 41

6 Chuỗi (tt)

41

<?php

$array = array( 'lastname' , 'email' , 'phone' );

$comma_separated = implode ( "," , $array );

echo $comma_separated ; // lastname,email,phone

?>

<?php

// Example 1

$pizza = "piece1 piece2 piece3 piece4 piece5 piece6" ;

$pieces = explode ( " " , $pizza );

echo $pieces [ 0 ]; // piece1

echo $pieces [ 1 ]; // piece2

Trang 42

$num = count($colors);

echo “We have $num items<br>”;

?>

Do you like blue?

Do you like green?

Do you like red?

Do you like yellow?

We have 4 items

Trang 43

7 Mảng (tt)

43

<?php

// PHP 5

foreach ( $colors as & $color ) {

$color = strtoupper ( $color );

}

unset( $color ); /* ensure that following writes to

$color will not modify the last array element */

// Workaround for older versions ( phiên bản trước PHP 5 )

foreach ( $colors as $key => $color ) {

$colors [ $key ] = strtoupper ( $color );

}

print_r ( $colors );

?>

Array ( [0] => RED [1] => BLUE [2] => GREEN [3] => YELLOW )

Trang 44

7 Mảng (tt)

44

<?php

$a = array( "a" => "apple" , "b" => "banana" );

$b = array( "a" => "pear" , "b" => "strawberry" , "c" => "cherry" );

["a"]=> string(4) "pear"

["b"]=> string(10) "strawberry" ["c"]=> string(6) "cherry"

}

Trang 46

7 Mảng (tt)

46

<?php

$info = array( 'coffee' , 'brown' , 'caffeine' );

// Listing all the variables

list( $drink , $color , $power ) = $info ;

echo "$drink is $color and $power makes it special.\n" ;

// Listing some of them

list( $drink , , $power ) = $info ;

echo "$drink has $power.\n" ;

// Or let's skip to only the third one

list( , , $power ) = $info ;

echo "I need $power!\n" ;

// list() doesn't work with strings

list( $bar ) = "abcde" ;

var_dump ( $bar ); // NULL

?>

Trang 47

7 Mảng (tt) – Hàm xử lý

Theo giá trị

– sort ($mảng) / asort ($mảng) // tăng dần

– rsort ($mảng) / arsort ($mảng) // giảm dần

– natsort ($mảng) / natcasesort ($mảng)// tăng dần, dùng cho chuỗi

– usort ($mảng, ”hàm_so_sánh”) // tự định nghĩa thứ tự

– uasort ($mảng, ”hàm_so_sánh”) // tự định nghĩa thứ tự

Trang 49

Break

Trang 50

8 Cấu trúc điều khiển

Trang 53

khối lệnh n

default :

khối lệnh cuối }

Trang 58

8.4 Vòng lặp for

for ( biểu thức 1 ; biểu thức 2 ; biểu thức 3 )

khối lệnh;

lặp

Trang 60

8.5 Lặp với for & foreach

8.5 Lặp với for & foreach

$arr = array(" one ", " two ", " three ");

foreach ( $arr as $key => $value ) {

}

Trang 61

8.5 Lặp với for & foreach (tt)

8.5 Lặp với for & foreach (tt)

61

foreach (array as variable)

{

statements }

Ví dụ:

$meal = array('breakfast' => 'Walnut Bun',

'lunch' => 'Cashew Nuts and White Mushrooms', 'dinner' => 'Eggplant with Chili Sauce');

print "<table border=‘1’>\n";

foreach ($meal as $key => $value) { print "<tr><td>$key</td><td>$value</td></tr>\n";

} print '</table>';

Trang 63

// $arr is now array(2, 4, 6, 8)

unset( $value ); // break the reference with the last element

?>

<?php

$arr = array( "one" , "two" , "three" );

reset ( $arr );// reset pointer, start again on first element

while (list(, $value ) = each ( $arr )) {

echo "Value: $value<br />\n" ;

}

foreach ( $arr as $value ) {

echo "Value: $value<br />\n" ;

}

?>

Trang 64

while (list($key, $value) = each($arr)) {

echo "Key: $key; Value: $value<br />\n" ;

}

foreach ($arr as $key => $value) {

echo "Key: $key; Value: $value<br />\n" ;

}

?>

Key: 0; Value: one Key: 1; Value: two Key: 2; Value: three Key: 0; Value: one Key: 1; Value: two Key: 2; Value: three

Trang 66

function functionName ([parameter1] [,parameterN]) {

Trang 67

9 Hàm

• Kết thúc và trả kết quả

quyền điều hiển lại cho nơi đã gọi hàm Nếu không cólệnh return thì mặc định hàm trả về giá trị NULL

Muốn trả về hơn một giá trị thì phải dùng mảng

• Truyền tham số

Mặc định các tham số được truyền vào bên trong hàmtheo phương pháp tham trị Trường hợp muốn thay đổitrực tiếp trên các tham số truyền thì người ta dùng

(khi định nghĩa) cũng như tên biến được truyền làmtham (khi gọi hàm)

Trang 68

Khi gọi hàm nếu bỏ trống tại vị trí tham số có giá trị mặcđịnh thì mặc nhiên giá trị mặc định được dùng cho tham

số đó

• Hàm có số lượng tham số không xác định

Khai báo danh sách tham số rỗng ()

Sử dụng các hàm sau để lấy danh sách các tham số:

func_get_arg(i): giá trị các tham số thứ i được truyền (bắt đầu từ 0)

func_get_args(): danh sách tất cả các tham số

Trang 69

9 Hàm

Thêm từ khóa static khi khai báo biến

Được khởi tạo (và gán giá trị) một lần đầu tiên duy

nhất trong suốt quá trình thực thi của script

Khai báo lại biến toàn cục với từ khóa global (bên

trong hàm) để có thể sử dụng được biến toàn cục này bên trong hàm

Sử dụng các hàm sau để lấy danh sách các tham số:

func_num_args(): số lượng tham số khi hàm được gọi

func_get_arg(i): giá trị các tham số thứ i được truyền

(bắt đầu từ 0)

func_get_args(): danh sách tất cả các tham số

Trang 70

9 Hàm

Có giá trị sử dụng trong toàn script, ngay cả

trước và sau khi định nghĩa

Cho phép định nghĩa lồng hàm, thậm chí lồng bên trong một cấu trúc điều khiển (if, switch, while/do, while…)

Loại hàm này có phạm vi trong toàn script và không thể định nghĩa lại

Trang 71

$device = is_null ( $coffeeMaker ) ? "hands" : $coffeeMaker ;

return "Making a cup of " join ( ", " , $types ) " with $device.\n" ; }

echo makecoffee ();

echo makecoffee (array( "cappuccino" , "lavazza" ), "teapot" );

?>

Trang 73

$newref =& returns_reference ();

?>

Trang 74

// This is a wrapper function around echo

function echoit ( $string )

Trang 77

10 Phạm vi của biến

<?php

$a = 1;include "b.inc";

Trang 78

10 Phạm vi của biến

Tên biến Mô tả

có thể truy cập

script

Trang 79

static $a = 0;echo $a;

$a++;

}Test();

Test();

?>

?

Trang 80

Tham khảo

• Website W3school

• Slide lập trình Web, ĐH KHTN, 2007

80

Trang 81

Q & A

Trang 82

THE END

Ngày đăng: 11/03/2021, 12:33

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm