Ngôn ngữ lập trình web động PHP

ppt 51 trang phuongnguyen 5270
Bạn đang xem 20 trang mẫu của tài liệu "Ngôn ngữ lập trình web động PHP", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptngon_ngu_lap_trinh_web_dong_php.ppt

Nội dung text: Ngôn ngữ lập trình web động PHP

  1. CHƯƠNG 4 Ngôn ngữ lập trình web động PHP 1
  2. Nội dung ◼Giới thiệu PHP ◼Cơ chế hoạt động của WebServer ◼Cú pháp & Quy ước trong PHP Ths. Mai Xuân Hùng
  3. Nội dung ◼Giới thiệu PHP ◼Cơ chế hoạt động của WebServer ◼Cú pháp & Quy ước trong PHP Ths. Mai Xuân Hùng
  4. Giới thiệu về PHP – Lịch sử phát triển ◼ PHP : Rasmus Lerdorf in 1994 (được phát triển để phát sinh cá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ác webserver. Parse đổi tên thành Zend Engine. Bổ sung các tính nă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.2.4 (www.php.net) Ths. Mai Xuân Hùng
  5. Giới thiệu về PHP – PHP là gì ? ◼PHP viết tắt của PHP Hypertext Preprocessor ◼Là ngôn ngữ server-side script, tương tự như ASP, JSP, thực thi ởƯuphía điểm WebServer PHP ? ◼Tập tin PHP có phần mở rộng là .php ◼Cú pháp ngôn ngữ giống ngôn ngữ C & Perl Ths. Mai Xuân Hùng
  6. Giới thiệu về PHP – Ưu điểm 1 ◼PHP được sử dụng làm ◼ Server Side Scripting ◼ CommandLine Scripting (cron – Linux, Task Scheduler – Windows, Text Processing) ◼ Xây dựng ứng Desktop – PHP GTK Ths. Mai Xuân Hùng
  7. Giới thiệu về PHP – Ưu điểm 2 ◼Đa môi trường (Multi-Platform) ◼ 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 (read-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 Ths. Mai Xuân Hùng
  8. Giới thiệu về PHP – Ưu điểm 3 ◼Miễn phí PHP Software Free Platform Free (Linux) Development Tools Free (PHP Coder, jEdit, ) Ths. Mai Xuân Hùng
  9. Giới thiệu về PHP – Ưu điểm 4 ◼Được sử dụng rộng rãi trong môi trường phát triển web ◼ 20,917,850 domains (chiếm hơn 32% tên miền website) ◼ 1,224,183 IP addresses (04/2007 Netcraft Survey – Ths. Mai Xuân Hùng
  10. Giới thiệu về PHP – Một số website lớn PHP at Yahoo! The Internet’s most trafficked site Course Management System Portal Portal Wiki Customer Relationship Management e-Commerce Portal Bulletin Board Content Management System Help Desk Ths. Mai Xuân Hùng
  11. Giới thiệu về PHP – Cần gì để chạy PHP ? →Download SAMPP, WAMP, LAMP →Slide cách chạy trang PHP Ths. Mai Xuân Hùng
  12. Nội dung ◼Giới thiệu PHP ◼Cơ chế hoạt động của WebServer ◼Cú pháp & Quy ước trong PHP Ths. Mai Xuân Hùng
  13. Cơ chế hoạt động của WebServer www.example.com Webserver 2 7 6 3 5 4 Database Disk Server driver Ths. Mai Xuân Hùng
  14. Cơ chế hoạt động của WebServer Ths. Mai Xuân Hùng
  15. Cơ chế hoạt động của WebServer ◼Parser.asp ◼Parser.php Ths. Mai Xuân Hùng
  16. Nội dung ◼Giới thiệu PHP ◼Cơ chế hoạt động của WebServer ◼Cú pháp & Quy ước trong PHP Ths. Mai Xuân Hùng
  17. Cú pháp & Quy ước trong PHP ◼Quy ước ◼Khai báo biến ◼Kiểu dữ liệu ◼Toán tử ◼Cấu trúc điều khiển ◼Hàm ◼Lớp đối tượng Ths. Mai Xuân Hùng
  18. Quy ước ◼Mã lệnh PHP được đặt trong các cặp thẻ sau : Thẻ mở Thẻ đóng language="php"> Ths. Mai Xuân Hùng
  19. Quy ước ◼ Tất cả các câu lệnh php đều cách nhau bởi dấu “;” ◼ Không phân biệt khoảng trắng, Tab, xuống dòng trong câu lệnh ◼Ghi chú : Theo cú pháp ghi chú của C++ & Perl // Đây là ghi chú # Đây là ghi chú /* Đây là ghi chú nhiều dòng*/ Ths. Mai Xuân Hùng
  20. Cú pháp & Quy ước trong PHP ◼Quy ước ◼Khai báo biến ◼Kiểu dữ liệu ◼Toán tử ◼Cấu trúc điều khiển ◼Hàm ◼Lớp đối tượng Ths. Mai Xuân Hùng
  21. Khai báo biến $ten_bien = value; ◼Không khai báo kiểu dữ liệu ◼Biến tự động được khởi tạo ở lần đầu tiên gán giá trị cho biến ◼Tên biến : ◼ Có thể bao gồm các Ký tự (A Z, a z), Ký số (0 9), _, $ ◼ Không được bắt dầu bằng ký số (0 9) ◼ Phân biệt chữ hoa – chữ thường Ví dụ : $size $my_drink_size $_drinks $drink4you $$2hot4u $drink-size x Ths. Mai Xuân Hùng
  22. Khai báo biến ◼Variable variables ◼ Cho phép thay đổi tên biến ◼ Ví dụ: $varname = “my_variable”; $$varname = “xyz”;// $my_variable = “xyz” ◼Hằng số - Constants ◼ Ví dụ: define(“MY_CONST”, 10); echo MY_CONST; Ths. Mai Xuân Hùng
  23. Ths. Mai Xuân Hùng
  24. Cú pháp & Quy ước trong PHP ◼Quy ước ◼Khai báo biến ◼Kiểu dữ liệu ◼Toán tử ◼Cấu trúc điều khiển ◼Hàm ◼Lớp đối tượng Ths. Mai Xuân Hùng
  25. Kiểu dữ liệu ◼boolean (bool) ◼integer (int) ◼double (float, real) ◼string ◼array ◼object 1 Biến trong PHP có thể lưu bất kỳ kiểu dữ liệu nào. Ths. Mai Xuân Hùng
  26. Kiểu dữ liệu (tt) ◼Chuyển kiểu dữ liệu ◼ Cách 1 (automatic) $var = "100" + 15; $var = "100" + 15.0; $var = 39 . " Steps"; ◼ Cách 2: (datatype) $var ◼ Cách 3: settype($var, “datatype”) $var (int)$var (bool)$var (string)$var null 0 false “” true 1 “1” false 0 “” “6 feet” 6 true “foo” 0 true Ths. Mai Xuân Hùng
  27. Kiểu dữ liệu (tt) ◼Kiểm tra kiểu dữ liệu gettype is_string isset is_integer is_array unset is_double is_object empty Ví dụ: $var = "test"; if (isset($var)) echo "Variable is Set"; if (empty($var)) echo "Variable is Empty"; Ths. Mai Xuân Hùng
  28. Kiểu số - int, float ◼Một số hàm xử lý số ◼ abs pow decbin srand(seed) ◼ ceil sqrt bindec rand ◼ Floor log dechex rand(min, max) ◼ round log10 hexdec ◼ Ví dụ // Generate a seed $seed = (float) microtime( ) * 100000000; // Seed the pseudo-random number generator srand($seed); // Generate some random numbers print rand(); // between 0 and getmaxrand( ) print rand(1, 6); // between 1 and 6 (inclusive) Ths. Mai Xuân Hùng
  29. Kiểu chuỗi - string ◼ Toán tử nối chuỗi : dấu chấm . $s = “Hello” . “ World”; // $s = “Hello World” ◼ Phân biệt dấu nháy đơn và nháy kép $user = “Bill”; print ‘Hi $user’; // Hi $user print “Hi $user”; // Hi Bill print ‘Hi’ . $user; // ???? print ‘Hi’ . ‘$user’; // ???? ◼ Một số hàm xử lý chuỗi ◼ printf trim strtolower ◼ str_pad str_replace strtoupper ◼ strlen substr strcasecmp ◼ Ths. Mai Xuân Hùng
  30. Ví dụ Ths. Mai Xuân Hùng
  31. Ví dụ ” // Print a heading echo str_pad(“Dramatis Personae", 50, " ", STR_PAD_BOTH) . “\n"; // Print an index line echo str_pad(“DUNCAN, king of Scotland”, 30, ".") . str_pad(“Larry”, 20, ".", STR_PAD_LEFT) . “\n"; echo “ ” ?> Ths. Mai Xuân Hùng
  32. Mảng - array ◼Numbered array $words = array("Web", "Database", "Applications"); echo $words[0]; $numbers = array(1=>"one", "two", "three", "four"); echo $numbers[1]; ◼Associated array $array = array("first"=>1, "second"=>2, "third"=>3); echo $array["second"]; Ths. Mai Xuân Hùng
  33. Mảng - array ◼Một số hàm xử lý trên mảng ◼ count is_array sort asort ksort usort ◼ min array_reverse rsort arsort krsprt uasort ◼ max uksort ◼ Ví dụ: $dinner = array( 'Sweet Corn and Asparagus', 'Lemon Chicken', 'Braised Bamboo Fungus'); sort($dinner); print "I want $dinner[0] and $dinner[1]."; $dishes = count($dinner); print $dishes; Ths. Mai Xuân Hùng
  34. Mảng - array ◼Một số hàm liên quan đến mảng ◼ reset(array) ◼ array_push(array, elements) : Thêm elements vào cuối mảng ◼ array_pop(array) : Lấy phần tử cuối ra khỏi mảng ◼ array_unshift(array, elements) : Thêm elements vào đầu mảng ◼ array_shift(array) : Lấy phần tử đầu ra khỏi mảng ◼ array_merge(array, array) : kết 2 mảng lại và trả ra mảng mới ◼ shuffle(array) : Sort random mảng ◼ sort(array, flag) : flag = {sort_regular, sort_numeric, sort_string, sort_locale_string} Ths. Mai Xuân Hùng
  35. Cú pháp & Quy ước trong PHP ◼Quy ước ◼Khai báo biến ◼Kiểu dữ liệu ◼Toán tử ◼Cấu trúc điều khiển ◼Hàm ◼Lớp đối tượng Ths. Mai Xuân Hùng
  36. Toán tử Loại Toán tử Ghi chú new . . [ ] ( ) Toán học + - * / % ++ So sánh = != == === !== Luận lý && || ?: , Xử lý bit ! ~ > >>> AND OR XOR Gán = += -= *= /= %= >>= <<= &= |= ^= .= Ép kiểu (kiểu dữ liệu) (int) (double) (string) Ths. Mai Xuân Hùng
  37. Cú pháp & Quy ước trong PHP ◼Quy ước ◼Khai báo biến ◼Kiểu dữ liệu ◼Toán tử ◼Cấu trúc điều khiển ◼Hàm ◼Lớp đối tượng Ths. Mai Xuân Hùng
  38. Cấu trúc điều khiển ◼Điều kiện if ◼Điều khiển switch ◼Vòng lặp for ◼Vòng lặp while ◼Vòng lặp do While ◼Vòng lặp foreach ◼Từ khóa break, continue Ths. Mai Xuân Hùng
  39. Điều kiện if if (condition) { statement[s] if Ví dụ: true $x = 5; } if ($x < 4) else //(condition) echo “$x is less than 4”; { statement[s] if else false print ‘$x isn’t less than 4’; } $x isn’t less than 4 Ths. Mai Xuân Hùng
  40. Điều khiển switch Ví dụ: switch (expression) $menu = 3; { switch ($menu){ case 1: case label 1 : echo "You picked one"; statementlist break; case 2: break; You picked three Youecho picked "You pickedfour two"; case label 2 : break; case 3: statementlist echo "You picked three"; break; //break; case 4: echo "You picked four"; default : break; default: statementlist echo "You picked another } option"; Ths. Mai} Xuân Hùng
  41. Vòng lặp for for ([initial expression]; [condition]; [update expression]) { statement[s] inside loop } ▪ Ví dụ: print “ ”; for ($i = 1; $i $i ”; } print “ ”; Ths. Mai Xuân Hùng
  42. Vòng lặp while, do while while (expression) { Ví dụ: statements $i = 1; $j = 9; } while ($i "; { $i++; statements }while (expression); } Ths. Mai Xuân Hùng
  43. Vòng lặp foreach foreach (array as variable) { statements } Ví dụ: $meal = array('breakfast' => 'Walnut Bun', 'lunch' => 'Cashew Nuts and White Mushrooms', 'dinner' => 'Eggplant with Chili Sauce'); print " \n"; foreach ($meal as $key => $value) { print " $key $value \n"; } print ' '; Ths. Mai Xuân Hùng
  44. Cú pháp & Quy ước trong PHP ◼Quy ước ◼Khai báo biến ◼Kiểu dữ liệu ◼Toán tử ◼Cấu trúc điều khiển ◼Hàm ◼Lớp đối tượng Ths. Mai Xuân Hùng
  45. Hàm - function function functionName ([parameter1] [,parameterN]) { statement[s] ; } function functionName ([parameter1] [,parameterN]) { statement[s] ; return ; } Ths. Mai Xuân Hùng
  46. Hàm – Phạm vi biến Ths. Mai Xuân Hùng
  47. Hàm – Tham trị vs Tham biến Ths. Mai Xuân Hùng
  48. Hàm – include & require // index.php // functions.inc Simple Function Call function bold($string) { " . $string . " \n"; includerequire "functions.inc"; "functions.inc"; } ?> bold("this is bold"); $myString = "this is bold"; bold($myString); ?> Ths. Mai Xuân Hùng
  49. Cú pháp & Quy ước trong PHP ◼Quy ước ◼Khai báo biến ◼Kiểu dữ liệu ◼Toán tử ◼Cấu trúc điều khiển ◼Hàm ◼Lớp đối tượng Ths. Mai Xuân Hùng
  50. Lớp đối tượng - class class class_name() [extends superclass_name] { var $attribute; function method_name() { $this->attribute = ; } } $a = new class_name( ); Ths. Mai Xuân Hùng
  51. Lớp đối tượng - class ◼ Ví dụ: class Counter { var $count = 0; var $startPoint = 0; function increment( ) { $this->count++; } } $aCounter = new Counter; $aCounter->increment( ); echo $aCounter->count; // prints 1 $aCounter->count = 101; Ths. Mai Xuân Hùng