Bài giảng Lập trình Web - Chương 5: PHP - Basic - Trần Phước Tuấn

pdf 58 trang cucquyet12 3231
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình Web - Chương 5: PHP - Basic - Trần Phước Tuấn", để 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:

  • pdfbai_giang_lap_trinh_web_chuong_5_php_basic_tran_phuoc_tuan.pdf

Nội dung text: Bài giảng Lập trình Web - Chương 5: PHP - Basic - Trần Phước Tuấn

  1. PHPPHP BASICBASIC Trần Phước Tuấn tranphuoctuan.khoatoan.dhsp@gmail.com
  2. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC Nội dung 1. PHP và HTML 2. Câu lệnh PHP 3. Ghi chú trong PHP 4. Khai báo biến 5. Kiểu dữ liệu 6. Toán tử 7. Cấu trúc điều khiển 8. Hàm 9. Phạm vi của biến 10. Biến tĩnh 11.Làm việc với file và thư mục 12. Lớp – Đối tượng trong PHP 7/24/2009 Lập trình Web - Trần Phước Tuấn 2
  3. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 1. PHP và HTML 7/24/2009 Lập trình Web - Trần Phước Tuấn 3
  4. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 2. Câu lệnh PHP § Phát biểu: – Các câu lệnh php cách nhau bởi dấu ‘;’ – Không phân biệt khoảng trắng, tab hay ký tự xuống dòng. § Ví dụ: 7/24/2009 Lập trình Web - Trần Phước Tuấn 4
  5. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 3. Ghi chú trong PHP § Ghi chú của PHP tương tự như của C++C++ và PerlPerl § Có 33 loloạạii ghi chú: – Sử dụng ‘//’ để ghi chú – Sử dụng ‘#’ để ghi chú – Sử dụng /* */ để ghi chú § Ví dụ: ?> ?> ##tương tự như ?> 7/24/2009 Lập trình Web - Trần Phước Tuấn 5
  6. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 4. Khai báo biến § Cú pháp: $ten_bien=value; § 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 bbắ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 7/24/2009 Lập trình Web - Trần Phước Tuấn 6
  7. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 4. Khai báo biến § Variable variables – Cho phép thay đổi tên biến – Vídụ § Hằng số-Constants 7/24/2009 Lập trình Web - Trần Phước Tuấn 7
  8. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu § boolean § integer § double § string § array § object MMộộtt bibiếếnn trongtrong PHPPHP ccóó ththểể llưưuu bbấấtt kkỳỳ kikiểểuu ddữữ liliệệuu nnààoo 7/24/2009 Lập trình Web - Trần Phước Tuấn 8
  9. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu § Chuyển đổi 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”) § VD: 7/24/2009 Lập trình Web - Trần Phước Tuấn 9
  10. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu § Kiểm tra kiểu dữ liệu § Ví dụ $var = “test”; if (isset($var)) echo “Variable is Set”; if (empty($var)) echo “Variable is Empty”; 7/24/2009 Lập trình Web - Trần Phước Tuấn 10
  11. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu § Một số hàm xử lý số Tra Hướng Dẫn § Ví dụ: // Phát sinh một “mầm” ngẫu nhiên Trong PHP Manual $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 7/24/2009 Lập trình Web - Trần Phước Tuấn 11
  12. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu § Kiểu string – 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 = “Tuấn”; print ‘Hi $user’; // Hi $user print “Hi $user”;// Hi Tuấn print “Hi”. $user;// ???? print “Hi”. “$user”;// ???? – Một số hàm 7/24/2009 Lập trình Web - Trần Phước Tuấn 12
  13. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu 7/24/2009 Lập trình Web - Trần Phước Tuấn 13
  14. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu HHààmm str_padstr_pad STR_PAD_RIGHT : Thêm vào bên phải (mặc định) STR_PAD_LEFT : Thêm vào bên trái STR_PAD_BOTH : Thêm cả hai phía 7/24/2009 Lập trình Web - Trần Phước Tuấn 14
  15. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu 7/24/2009 Lập trình Web - Trần Phước Tuấn 15
  16. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu spanning multiple lines using heredoc syntax. EOA;//không được có khoảng trắng đầu dòng echo($str); $name = “tuan"; $d = date("d/m/y"); $str = Ngay $d EOQ; echo($str); ?> 7/24/2009 Lập trình Web - Trần Phước Tuấn 16
  17. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu § Mảng (ArrayArray) "; } Do you like blue? $num = count($colors); Do you like green? Do you like red? echo “We have $num items ”; Do you like yellow? ?> We have 4 items 7/24/2009 Lập trình Web - Trần Phước Tuấn 17
  18. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu § Mảng (ArrayArray) $color){ Array $colors[$key]=strtoupper($color); ( } [0] => RED [1] => BLUE print_r($colors); [2] => GREEN ?> [3] => YELLOW ) 7/24/2009 Lập trình Web - Trần Phước Tuấn 18
  19. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu "apple", "b" => "banana"); $b = array("a" => "pear", "b" => "strawberry", "c" => "cherry"); $c = $a + $b; // Union of $a and $b echo "Union of \$a and \$b: \n"; var_dump($c); $c = $b + $a; // Union of $b and $a echo "Union of \$b and \$a: \n"; var_dump($c); ?> Union of $a and $b: Union of $b and $a: array(3) array(3) { { ["a"]=> string(5) "apple" ["a"]=> string(4) "pear" ["b"]=> string(6) "banana" ["b"]=> string(10) "strawberry" ["c"]=> string(6) "cherry" ["c"]=> string(6) "cherry" } } 7/24/2009 Lập trình Web - Trần Phước Tuấn 19
  20. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu "blue", "size" => "medium", "shape" => "sphere"); extract($var_array, EXTR_PREFIX_SAME, "wddx"); echo "$color, $size, $shape, $wddx_size\n"; ?> blue, large, sphere, medium 7/24/2009 Lập trình Web - Trần Phước Tuấn 20
  21. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu 7/24/2009 Lập trình Web - Trần Phước Tuấn 21
  22. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 5. Kiểu dữ liệu § Mảng (ArrayArray) TTììmm hihiểểuu thêmthêm trongtrong PHPPHP ManualManual 7/24/2009 Lập trình Web - Trần Phước Tuấn 22
  23. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 6. Toán tử 7/24/2009 Lập trình Web - Trần Phước Tuấn 23
  24. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 6. Toán tử Ex Name Result $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 Greater than TRUE if $a is strictly greater than $b. $a = $b Greater than or equal to TRUE if $a is greater than or equal to $b. 7/24/2009 Lập trình Web - Trần Phước Tuấn 24
  25. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 7. Cấu trúc điều khiển § Điều kiện ifif § Điều khiển switchswitch § Vòng lặp forfor TươTươngng ttựự nhnhưư CC++++ § Vòng lặp whilewhile § Vòng lặp do do WhileWhile § Vòng lặp foreachforeach § Từ khóa break,break, continuecontinue 7/24/2009 Lập trình Web - Trần Phước Tuấn 25
  26. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 7. Cấu trúc điều khiển \n"; } foreach ($arr as $value){ echo "Value: $value \n"; } ?> 7/24/2009 Lập trình Web - Trần Phước Tuấn 26
  27. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 7. Cấu trúc điều khiển \n"; } foreach ($arr as $key => $value){ echo "Key: $key; Value: $value \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 7/24/2009 Lập trình Web - Trần Phước Tuấn 27
  28. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 8. Hàm lưu ý: dấu & 7/24/2009 Lập trình Web - Trần Phước Tuấn 28
  29. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 8. Hàm 7/24/2009 Lập trình Web - Trần Phước Tuấn 29
  30. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 8. Hàm 7/24/2009 Lập trình Web - Trần Phước Tuấn 30
  31. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 8. Hàm ?> 7/24/2009 Lập trình Web - Trần Phước Tuấn 31
  32. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 8. Hàm \n"; } function bar($arg = '') { echo "In bar(); argument was '$arg'. \n"; } // This is a wrapper function around echo function echoit($string) { echo $string; } $func = 'foo'; $func(); // This calls foo() $func = 'bar'; $func('test'); // This calls bar() $func = 'echoit'; $func('test'); // This calls echoit() ?> 7/24/2009 Lập trình Web - Trần Phước Tuấn 32
  33. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 8. Hàm $name(); // This calls the Bar() method } function Bar() { echo "This is Bar"; } } $foo = new Foo(); $funcname = "Variable"; $foo->$funcname(); // This calls $foo->Variable() ?> 7/24/2009 Lập trình Web - Trần Phước Tuấn 33
  34. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 9. Phạm vi của biến 3 7/24/2009 Lập trình Web - Trần Phước Tuấn 34
  35. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 9. Phạm vi của biến Phạm vi của biến [a] có tác dụng trong cả b.inc Biến [a] ở ngoài và trong hàm Test khác nhau 7/24/2009 Lập trình Web - Trần Phước Tuấn 35
  36. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 9. Phạm vi của biến Tên biến Mô tả chứa tất cả các biến toàn cục mà đoạn script cục bộ $GLOBALS có thể truy cập $_SERVER chứa thông tin về môi trường của web server $_GET chứa thông tin của yêu cầu dạng GET $_POST chứa thông tin của yêu cầu dạng POST $_COOKIE chứa thông tin từ HTTP cookie $_FILE chứa thông tin từ việc tải tập tin lên kiểu POST chứa thông tin về môi trường thực thi của đoạn $_ENV script $_REQUEST chứa thông tin nhập vào của người dùng $_SESSION chứa thông tin của các session được đăng ký 7/24/2009 Lập trình Web - Trần Phước Tuấn 36
  37. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 9. Phạm vi của biến 7/24/2009 Lập trình Web - Trần Phước Tuấn 37
  38. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 10. Biến tĩnh ?> ?? 7/24/2009 Lập trình Web - Trần Phước Tuấn 38
  39. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Làm việc với tập tin và thư mục 1. Sử dụng include() 2. Sử dụng include_once() 3. Sử dụng include_path cho các dự án lớn 4. Kiểm tra file 5. Đọc, ghi file 6. Làm việc với thư mục 7/24/2009 Lập trình Web - Trần Phước Tuấn 39
  40. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Làm việc với tập tin và thư mục § Lệnh include() cho phép bạn phối hợp giữa các file trong một PHP project, ko giống như cú pháp #include của ngôn ngữ C, lệnh này không chèn mã lệnh vào file mà thực thi file php giống như cú pháp gọi hàm § include() sử dụng để chia sẻ các hàm dùng chung, các đoạn mã chung trong một project có nhiều file § Nếu không tìm thấy file, include() thông báo warning nhưng không dừng chương trình § PHP cung cấp 1 lệnh tương tự include() là require(), lệnh này có sự khác biệt là sẽ dừng ngay chương trình khi không tìm thấy file 7/24/2009 Lập trình Web - Trần Phước Tuấn 40
  41. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Làm việc với tập tin và thư mục //vars.php Vì include() thực hiện lời gọi đến file php, return 4 + 4; ?> //test.php //A "; echo "A $color $fruit"; $retVal = include("file1.php"); // A green apple echo “Value file 1: $retVal "; echo "This is from file 2\n"; ?> ?> 7/24/2009 Lập trình Web - Trần Phước Tuấn 41
  42. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Làm việc với tập tin và thư mục § Có thể đặt lệnh include bên trong 1 cấu trúc điều kiện hoặc cấu trúc lặp, § Khi đó tùy theo điều kiện của cấu trúc mà include() có được thực hiện hay không, 1 hay nhiều lần § Việc này giúp hỗ trợ cho việc thiết kế kiến trúc trang web tốt hơn. 7/24/2009 Lập trình Web - Trần Phước Tuấn 42
  43. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Làm việc với tập tin và thư mục § include_once() giống như include(), tuy nhiên có điểm khác biệt là chỉ include 1 lần, lần sau nếu gặp lại file này thì ko include nữa § include_once() phân biệt chữ hoa, chữ thường Vì phân biệt chữ hoa/thường nên include_one chèn thêm lần thứ hai 7/24/2009 Lập trình Web - Trần Phước Tuấn 43
  44. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Làm việc với tập tin và thư mục §§ includeinclude file theo đường dẫn tuyệt đối: Cách này dở vì khi cài đặt trên máy khác sẽ không tìm thấy file được include §§ includeinclude file theo đường dẫn tương đối: Cách này tốt hơn, nhưng mỗi khi đổi vị trí của file được include thì phải sửa lại tại tất cả các file thực hiện lời gọi include § Cách tốt nhất là sử dụng include_pathinclude_path (thiết lập trong file PHP.INI) đối với những file thư viện dùng chung được sử dụng nhiều (giống như đối với ngôn ngữ C) 7/24/2009 Lập trình Web - Trần Phước Tuấn 44
  45. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Làm việc với tập tin và thư mục § thay đổi include_path trong PHP.INI § dùng lệnh set_include_path() § dùng lệnh ini_set() 7/24/2009 Lập trình Web - Trần Phước Tuấn 45
  46. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Làm việc với tập tin và thư mục file_exist(), is_file(), is_dir(), is_readable(), is_writeable(), is_executable(), filesize(), fileatime() l "; return; } print "$file is ".(is_file( $file )?"":"not ")."a file \n"; print "$file is ".(is_dir( $file )?"":"not ")."a directory \n"; print "$file is ".(is_readable( $file )?"":"not ")."readable \n"; print "$file is ".(is_writable( $file )?"":"not ")."writable \n"; print "$file is ".( filesize($file))." bytes \n"; print "$file was accessed on ".date( "D d M Y g:i A", fileatime($file ))." "; print "$file was modified on ".date( "D d M Y g:i A", filemtime( $file))." "; print "$file was changed on".date( "D d M Y g:i A", filectime($file))." "; } outputFileTestInfo("c:\\windows\\system32\\cmd.exe"); ?> 7/24/2009 Lập trình Web - Trần Phước Tuấn 46
  47. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Làm việc với tập tin và thư mục fopen($filename, $mode); fwrite($handle, $string); fread($handle, $length); fgets($handle); sprintf($format); fscanf($handle, $format); fseek($handle, $offset); fclose($handle); file_get_contents($filename); 7/24/2009 Lập trình Web - Trần Phước Tuấn 47
  48. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Làm việc với tập tin và thư mục fclose($f); 7/24/2009 Lập trình Web - Trần Phước Tuấn 48
  49. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Làm việc với tập tin và thư mục § 7/24/2009 Lập trình Web - Trần Phước Tuấn 49
  50. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Làm việc với tập tin và thư mục § a = 10; $ob1->b = 100.023; $ob1->c = "Test String"; var_dump($ob1); $f = fopen("test.txt", "wb"); fwrite($f, serialize($ob1)); fclose($f); $f = fopen("test.txt", "rb"); $ob2 = unserialize(fgets($f)); fclose($f); var_dump($ob2); ?> 7/24/2009 Lập trình Web - Trần Phước Tuấn 50
  51. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Làm việc với tập tin và thư mục § mkdir(), rmdir() § opendir(), readdir(), closedir() § 7/24/2009 Lập trình Web - Trần Phước Tuấn 51
  52. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Lớp và Đối Tượng trong PHP § Khai báo lớp § Hàm tạo § Phạm vi § Kế thừa § Hàm serialize,unserialize 7/24/2009 Lập trình Web - Trần Phước Tuấn 52
  53. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Lớp và Đối Tượng trong PHP § Khai báo § Hàm tạo 7/24/2009 Lập trình Web - Trần Phước Tuấn 53
  54. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Lớp và Đối Tượng trong PHP § Phạm vi – PHP 5 hỗ trợ khai báo phạm vi bằng 3 thành phần: public, protected,private – Phạm vi mặc định là public § Cách thức truy xuất – $object->variable or method name; – $this->variable or method name; 7/24/2009 Lập trình Web - Trần Phước Tuấn 54
  55. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Lớp và Đối Tượng trong PHP 7/24/2009 Lập trình Web - Trần Phước Tuấn 55
  56. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Lớp và Đối Tượng trong PHP 7/24/2009 Lập trình Web - Trần Phước Tuấn 56
  57. ĐẠI HỌC SP. TPHCM, KHOA TOÁN – TIN HỌC 11. Lớp và Đối Tượng trong PHP 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() a=10; $ob1->b=100; $ob1->c=“Tran Phuoc Tuan"; $luu = serialize($ob1); echo "$luu "; $ob2 = unserialize($luu); var_dump($ob2); ?> 7/24/2009 Lập trình Web - Trần Phước Tuấn 57