Bài giảng Lập trình và Thiết kế Web 1 - Bài 7: PHP cơ - Lương Vĩ Minh
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình và Thiết kế Web 1 - Bài 7: PHP cơ - Lương Vĩ Minh", để 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:
- bai_giang_lap_trinh_va_thiet_ke_web_1_bai_7_php_co_luong_vi.pptx
Nội dung text: Bài giảng Lập trình và Thiết kế Web 1 - Bài 7: PHP cơ - Lương Vĩ Minh
- Lập trình và Thiết kế Web 1 Bài 7 PHP Cơ bản Trần Thị Bích Hạnh Lương Vĩ Minh KhoaKhoa CNTTCNTT –– ĐH.KHTNĐH.KHTN © 2007 Khoa Công nghệ thông tin
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Nội dung § Giới thiệu PHP § Cơ chế hoạt động của WebServer § Cú pháp & Quy ước trong PHP © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Nội dung § Giới thiệu PHP § Cơ chế hoạt động của WebServer § Cú pháp & Quy ước trong PHP © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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) © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 ở phía WebServerƯu điểm 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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, ) © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 – © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Giới thiệu về PHP – Cần gì để chạy PHP ? § Download PHP – Download PHP for free here: § Download MySQL Database – Download MySQL for free here: § Download Apache Server – Download Apache for free here: Download WAMP,LAMP © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Nội dung § Giới thiệu PHP § Cơ chế hoạt động của WebServer § Cú pháp & Quy ước trong PHP © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Cơ chế hoạt động của WebServer www.example.com Webserver Apache or IIS 2 Internet or Intranet 7 6 3 ServerSide Script Parser (PHP, ASP, ) 5 4 Database Disk Server driver © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Cơ chế hoạt động của WebServer © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Cơ chế hoạt động của WebServer § Parser.asp § Parser.php © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Nội dung § Giới thiệu PHP § Cơ chế hoạt động của WebServer § Cú pháp & Quy ước trong PHP © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Quy ước § Mã lệnh PHP được đặt trong các cặp thẻ sau : Thẻ mở Thẻ đóng © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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*/ © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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; © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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. © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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"; © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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) © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 – © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Ví dụ © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 “ ” ?> © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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"]; © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Mảng - array § Mộtsốhàmxửlýtrênmảng – count is_array sort asort ksort usort – min array_reverse rsort arsort krsprt uasort – max uksort § Vídụ: $dinner=array('SweetCornandAsparagus', 'LemonChicken', 'BraisedBambooFungus'); sort($dinner); print"Iwant$dinner[0]and$dinner[1]."; $dishes = count($dinner); print $dishes; © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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} © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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) © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản ĐiềuĐiều kiệnkiện ifif if (condition) { Ví dụ: statement[s] if true $x = 5; } else (condition) if ($x < 4) { “$x is less than 4”; statement[s] if false echo } else print ‘$x isn’t less than 4’; $x isn’t less than 4 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Điều khiển switch Điều khiển switch Ví dụ: switch (expression) $menu = 3; { switch ($menu){ case 1: case label : echo "You picked one"; statementlist break; case 2: break; You picked three You echo picked "You picked four two"; case label : break; case 3: statementlist echo "You picked three"; break; case 4: echo "You picked four"; break; default : default: echo "You picked another statementlist option"; } } © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản VòngVòng lặplặp forfor for ([initial expression]; [condition]; [update expression]) { statement[s] inside loop } § Ví dụ: print “ ”; for ($i = 1; $i $i ”; } print “ ”; © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản VòngVòng lặplặp while,while, do whiledo while while (expression) Ví dụ: { $i = 1; $j = 9; statements while ($i "; { $i++; statements } }while (expression); © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản VòngVòng lặplặp foreachforeach 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 ' '; © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Hàm - function function functionName ([parameter1] [,parameterN]) { statement[s] ; } function functionName ([parameter1] [,parameterN]) { statement[s] ; return ; } © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Hàm – Phạm vi biến © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Hàm – Tham trị vs Tham biến © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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); ?> © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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 © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản Lớp đối tượng - class class class_name() [extends superclass_name] { var $attribute; function method_name() { $this->attribute = ; } } $a = new class_name( ); © 2007 Khoa CNTT - ĐHKHTN
- Lập trình và Thiết kế Web 1 – Bài 7 : PHP Cơ bản 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; © 2007 Khoa CNTT - ĐHKHTN