Ngôn ngữ lập trình web động PHP
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:
- ngon_ngu_lap_trinh_web_dong_php.ppt
Nội dung text: Ngôn ngữ lập trình web động PHP
- CHƯƠNG 4 Ngôn ngữ lập trình web động PHP 1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Cơ chế hoạt động của WebServer Ths. Mai Xuân Hùng
- Cơ chế hoạt động của WebServer ◼Parser.asp ◼Parser.php Ths. Mai Xuân Hùng
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Ths. Mai Xuân Hùng
- 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
- 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
- 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
- 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
- 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
- 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
- Ví dụ Ths. Mai Xuân Hùng
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Đ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
- Đ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
- 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
- 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
- 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
- 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
- Hàm - function function functionName ([parameter1] [,parameterN]) { statement[s] ; } function functionName ([parameter1] [,parameterN]) { statement[s] ; return ; } Ths. Mai Xuân Hùng
- Hàm – Phạm vi biến Ths. Mai Xuân Hùng
- Hàm – Tham trị vs Tham biến Ths. Mai Xuân Hùng
- 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
- 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
- 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
- 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