1. Trang chủ
  2. » Công Nghệ Thông Tin

lập trình php

164 692 7
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

Tiêu đề Lập trình php
Tác giả Nguyễn Phú Quảng
Trường học Bộ môn Tin học Xây dựng
Thể loại Tiểu luận
Định dạng
Số trang 164
Dung lượng 543 KB

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

Nội dung

tài liệu tham khảo lập trình php

Trang 1

PHP (PHP: Hypertext Preprocessing)

Người lập: Nguyễn Phú Quảng

Bộ môn: Tin học Xây dựng

Trang 2

Nội dung trình bày

I. Làm quen với PHP

II. PHP Căn bản

III. Các tính năng cho ứng dụng Web base

I. Làm việc với Form

II. Các hàm làm việc với MySQL

III. Làm việc với File

IV. Các hàm làm việc với hình ảnh

V. Các hàm trên ngày tháng

VI. Các hàm trên dữ liệu

VII. Cookies và QueryString

VIII. Session

IX. Gỡ lỗi

Trang 3

I.6 Chương trình PHP đầu tiên

I.7 Các IDE cho PHP

Trang 4

I.1 PHP là gì?

 PHP được phát triển từ ngôn ngữ kịch bản (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 based

 Theo NetCraft:

– Tháng 11 năm 1999, hơn 1 triệu máy chủ

– Tháng 9 năm 2000, hơn 1.4 triệu máy

 PHP (PHP: Hypertext Perprocessor) là ngôn ngữ kịch bản lập trình phía máy chủ (server-side) phổ biến nhất thế giới

 PHP thường hoạt động theo thứ tự sau:

– Người dùng gửi yêu cầu lên máy chủ

– Máy chủ xử lý yêu cầu (Thông dịch mã PHP và chạy chương trình,

mã PHP có thể truy xuất CSDL, tạo hình ảnh, đọc ghi file, tương tác với máy chủ khác )

– Máy chủ gửi dữ liệu về cho người dùng (thường là dưới dạng HTML)

Trang 5

I.1 PHP là gì? (2)

Trang 6

I.2 Lịch sử phát triển của PHP

 Phiên bản đầu tiên của PHP được phát triển năm 1994, bao gồm các macro cho trang Web cá nhân (Personal Home

Page)

 Sau đó, PHP được phát triển thêm một số chức năng mới gọi là Form Interpreter (PHP/FI) và có được sự quan tâm lớn từ phía cộng đồng

 Phiên bản tiếp theo, PHP3, được viết lại bởi một nhóm các lập trình viên (Zeev Suraski, Andi Gutmans) PHP3 được bổ sung thêm một số tính năng và các cú pháp ngôn ngữ khác,

đã trở thành ngôn ngữ kịch bản phía máy chủ được ưa

chuộng nhất

Trang 7

I.3 Lý do chọn PHP

tốc độ nhanh hơn nhiều so với các ngôn ngữ kịch bản khác, bởi PHP là phần mềm mã

nguồn mở, được hỗ trợ bởi nhiều lập trình viên giỏi, có số lượng người dùng đông đảo Ngoài ra PHP chạy được trên nhiều hệ điều hành khác nhau

Trang 8

I.3 Lý do chọn PHP (2)

 Rút ngắn thời gian phát triển

– PHP cho phép bạn tách phần HTML code và phần script,

do đó có thể độc lập giữa công việc phát triển mã và thiết

kế Điều này vừa giúp lập trình viên dễ dàng hơn vừa có thể làm cho chương trình mềm dẻo hơn trong việc thay đổi giao diện

 PHP là phần mềm mã nguồn mở

– PHP không chỉ là phần mềm mã nguồn mở mà còn thực sự miễn phí (kể cả khi bạn sử dụng cho mục đích thương mại)

– Do là phần mềm mã nguồn mở, các lỗi (bug) của PHP

được công khai và nhanh chóng được sửa chữa bởi nhiều chuyên gia

Trang 9

I.3 Lý do chọn PHP (3)

– Nhờ vào sức mạnh của Zend Engine, khi so sánh PHP với ASP, có thể thấy PHP vượt hơn ở một số test, vượt trội ở tốc độ biên dịch.

– PHP được thiết kế để chạy trên nhiều nền tảng

khác nhau, có thể làm việc với nhiều phần mềm máy chủ, cơ sở dữ liệu (ví dụ: bạn có thể phát

triển dự án trên UNIX, sau đó chuyển sang NT mà không gặp phải bất cứ vấn đề gì)

Trang 10

I.4 Zend Engine

Hầu hết các đoạn mã viết trên PHP3 đều có thể chạy trên PHP4 với tốc độ tăng gấp 200 lần

Trang 11

I.5 Cài đặt PHP

tại địa chỉ http://www.php.net

download cả mã nguồn của PHP

địa chỉ http://www.php.net/manual

Trang 12

I.5 Cài đặt PHP (2)

Cài đặt PHP với IIS

– Control Panel/Add Remove Programs/Add Remove Window Components

– Bật Internet Information Services

– Download PHP Installer (Windows Binaries) từ

Trang 13

I.5 Cài đặt PHP (3)

 Download bản PHP zip package (Window Binaries)

 Giải nén vào thư mục C:\PHP

 Sửa file conf/httpd.conf, thêm vào nội dung sau

ScriptAlias /php/ "c:/php/"

AddType application/x-httpd-php php

Action application/x-httpd-php "/php/php.exe"

 Hoặc (Copy php5ts.dll vào thư mục c:/windows/system32)

LoadModule php5_module "c:/php/sapi/php5apache2.dll" AddType application/x-httpd-php php

Trang 14

I.5 Cài đặt PHP (4)

Alias fake “realname”

Alias /pm/ "C:/PMNM/47PM1/47PM1/”

phải kết thúc bằng /

Trang 15

I.6 Chương trình PHP đầu tiên

kỳ trình soạn thảo văn bản nào)

Trang 16

I.6 Chương trình PHP đầu tiên (2)

</script>

Trang 17

I.6 Chương trình PHP đầu tiên (3)

// Day la chuong trinh PHP dau tien

echo( "Hello world" );

/* Comment the nay cung duoc */

# Ma the nay cung chang sao

?>

</b>

</body>

</html>

Trang 18

I.7 Các IDE cho PHP

Như đã biết, bạn có thể viết chương trình PHP bằng bất cứ hệ soạn thảo văn bản nào Tuy

nhiên, để có được các chức năng hỗ trợ như AutoComplete, Debug cần phải sử dụng các IDE dành riêng cho PHP

– Macromedia DreamWaver

– Nusphere PHPED

Zend Studio

Trang 19

II PHP Căn bản

II.1 Biến, kiểu và hằng

II.2 Toán tử và biểu thức

II.3 Các câu lệnh điều khiển

II.4 Hàm

II.5 Lớp & đối tượng

II.6 Tham chiếu (reference)

Trang 20

II.1 Biến, kiểu và hằng

II.1.1 Biến

II.1.1.1 Tên biến

II.1.1.2 Tham chiếu

II.1.1.3 Biến động

II.1.1.4 Phạm vi (scope) của biến

II.1.2 Kiểu

II.1.3 Hằng

Trang 21

II.1.1.1 Tên biến

<?php

$var = "Bob" ;

$Var = "Joe" ;

echo "$var, $Var" ; // outputs "Bob, Joe"

$ 4site = 'not yet' ; // invalid; starts with a number

$_4site = 'not yet' ; // valid; starts with an underscore

$täyte = 'mansikka' ; // valid; 'ä' is (Extended) ASCII 228.

?>

Biến được ký hiệu bởi ký tự $

Tên biến phải được bắt đầu bởi 1 chữ cái hoặc ký tự gạch chân

Tên biến không chứa các dấu và ký tự cách

Trang 22

II.1.1.2 Tham chiếu

Giống ngôn ngữ C, trong PHP bạn có thể sử dụng tham chiếu

$bar = & $foo ; // This is a valid assignment.

$bar = &( 24 * 7 );// Invalid references an unnamed expression.

Trang 23

II.1.1.3 Biến động (Dynamic Variable)

Vì PHP là ngôn ngữ thông dịch nên bạn có thể sử dụng các biến có tên chưa biết trước (tên biến thay đổi)

<?php

$a = "quang" ; // gia tri cua bien a la 'quang'

$$a = "np" ; // bien dong $quang co gia tri la 'np'

${ "quang" } = 13432 ; // Gian truc tiep bien dong

Trang 24

II.1.1.4 Phạm vi của biến

Trang 25

II.1.1.4 Phạm vi của biến (2)

?>

Trang 26

II.1.1.4 Phạm vi của biến (3)

static $a = 0; echo $a;

$a++;

} Test();

Test();

?>

Trang 27

II.1.1.4 Phạm vi của biến (4)

Trang 29

echo gettype ( $bool ); // prints out "boolean"

echo gettype ( $str ); // prints out "string“

// If this is an integer, increment it by four

if ( is_int ( $int )) {

$int += 4 ;

}

// If $bool is a string, print it out

// (does not print out anything)

Trang 30

II.1.2.1 Kiểu boolean

<?php

// == is an operator which test

// equality and returns a boolean

Trang 31

II.1.2.2 Kiểu integer

<?php

$a = 1234 ; # decimal number

$a = - 123 ; # a negative number

$a = 0123 ; # octal number (equivalent to 83 decimal)

$a = 0x1A ; # hexadecimal number (equivalent to 26 decimal)

Trang 32

II.1.2.3 Kiểu float

$foo = 1 + "10.5"; // $foo is float (11.5)

$foo = 1 + "-1.3e3"; // $foo is float (-1299)

$foo = 1 + "bob-1.3e3"; // $foo is integer (1)

$foo = 1 + "bob3"; // $foo is integer (1)

$foo = 1 + "10 Small Pigs"; // $foo is integer (11)

$foo = "10.0 pigs " + 1 ; // $foo is float (11)

$foo = "10.0 pigs " + 1.0; // $foo is float (11)

?>

Trang 33

II.1.2.4 Kiểu string

 String trong PHP là một chuỗi các ký tự 1 byte PHP không hỗ trợ Unicode, để làm việc với Unicode bạn phải sử dụng UTF8 với các hàm utf8_encode() – utf8_decode()

 String của PHP hỗ trợ chiều dài rất lớn (?)

 Trong PHP, string được xác định theo 3 cách

– Dấu nháy đơn (single quote)

– Dấu nháy kép (double quote)

– Heredoc

 Truyền biến trong string

– Truyền kiểu đơn giản

– Truyền kiểu phức

 Truy cập đến từng ký tự trong string

 Các toán tử trên string

Trang 34

II.1.2.4 Kiểu String (2)

Kiểu dấu nháy đơn

<?php

strings this way as it is

// Outputs: Arnold once said: "I'll be back"

echo 'Arnold once said: "I\'ll be back"' ;

// Outputs: You deleted C:\*.*?

// Outputs: You deleted C:\*.*?

// Outputs: This will not expand: \n a newline

// Outputs: Variables do not $expand $either

?>

Trang 35

II.1.2.4 Kiểu String (3)

dấu nháy đơn nhưng có nhiều hỗ trợ cho các

ký tự đặc biệt hơn

Trang 36

II.1.2.4 Kiểu String (4)

Kiểu Heredoc

<?php

$str = <<<EOA

Example of string <br>

spanning multiple lines<br>

using heredoc syntax.<br>

Trang 37

II.1.2.4 Kiểu String (5)

Truyền biến kiểu đơn giản

<?php

echo " $beer 's taste is great" ;

// works, "'" is an invalid character for varnames

echo "He drank some $beers " ;

// won't work, 's' is a valid character for varnames

echo "He drank some $ {beer}s" ; // works

echo "He drank some { $beer }s" ; // works

?>

Truyền biến kiều phức (truyền biến kiểu mảng vào string) – sẽ đề cập đến ở phần mảng

Trang 38

II.1.2.4 Kiểu String (6)

Truy cập đến từng ký tự của String

Trang 39

II.1.2.5 Kiểu Array

(map) có thứ tự Tức là kiểu dữ liệu gồm các cặp khóa (key) và giá trị (value).

một mảng thuần túy (vector), hay dùng cho các kiểu dữ liệu collection, stack, queue,

tree

Trang 40

II.1.2.5 Kiểu Array (2)

Trang 41

II.1.2.5 Kiểu Array (3)

Sử dụng array

<?php

$arr = array( 5 => 1 , 12 => 2 );

$arr [] = 56 ; // This is the same as $arr[13] = 56;

// at this point of the script

$arr ["x"] = 42 ; // This adds a new element to

// the array with key "x"

unset( $arr [ 5 ]); // This removes the element from the array

unset( $arr ); // This deletes the whole array

Trang 42

II.1.2.6 Kiểu Object

$xe = new Xeco();

$xe->sobanh = 4;

$xe->BaoNhieuBanh();

?>

Trang 43

II.1.3 Hằng

Định nghĩa hằng bằng cách sử dụng hàm define()

Phạm vi của hằng là toàn cục (global)

Chỉ có các dạng dữ liệu đơn giản (boolean, interger, float, string)

Nếu tên hằng chưa được định nghĩa, PHP giả thiết rằng bạn đang sử dụng

1 hằng chứa giá trị là 1 string (chính là tên của hằng đó)

Để xác định một hằng đã được định nghĩa hay chưa, bạn có thể sử dụng hàm defined

<?php

define("CONSTANT", "Hello world.");

echo CONSTANT ; // outputs "Hello world."

echo Constant ; // outputs "Constant" and issues a notice.

echo defined ("Constant");

echo defined ("CONSTANT");

?>

Trang 44

II.1.3 Hằng (2)

 Các hằng được định nghĩa trước (các hằng này thường được sử dụng để phục vụ quá trình debug

LINE Thứ tự dòng hiện tại trong file

FILE Đường dẫn đầy đủ của file hiện tại

FUNCTION Tên hàm hiện tại

METHOD Tên phương thức hiện tại của lớp

Trang 45

II.2 Toán tử và biểu thức

II.2.1 Mức độ ưu tiên các toán tử

II.2.2 Toán tử số học

II.2.3 Toán tử gán

II.2.4 Các toán tử trên bit

II.2.5 Toán tử so sánh

II.2.6 Toán tử điều khiển lỗi

II.2.7 Toán tử thực thi

II.2.8 Toán tử tăng, giảm

II.2.9 Các toán tử logic

II.2.10 Toán tử trên string

II.2.11 Toán tử trên mảng

Trang 46

II.2.1 Mức độ ưu tiên các toán tử

Trang 47

II.2.2 Toán tử số học

Trang 48

II.2.3 Toán tử gán

Toán tử gán (=) cho phép bạn gán một biểu thức (vế

phải) cho 1 biến (vế trái)

Toán tử gán trả về giá trị của biểu thức vế phải, do đó

có thể dùng nhiều phép gán liên tiếp nhau

Ngoài ra, còn có các phép toán gọi là phép toán kết hợp cho hầu hết các toán tử số học để thay đổi giá trị 1 biến theo phép toán số học đó (+=, -=, *=, /=, = )

Trang 49

II.2.4 Các toán tử trên bit

$a << $b Shift left Shift the bits of $a $b steps to the left (each step means "multiply by two")

Trang 50

II.2.5 Toán tử so sánh

$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 only)

$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 same type (PHP 4 only) if $a is not equal to $b, or they are not of the

$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 51

II.2.6 Toán tử điều khiển lỗi

 Toán tử điều khiển lỗi (@) dùng để đặt trước các

hàm, biểu thức Khi đó tất cả các thông báo lỗi trong hàm, biểu thức đó bị bỏ qua

<?php

$b = @file( "a adf a" ) or

die( "Khong the mo file" );

?>

Trang 52

II.2.7 Toán tử thực thi

trên console, (các thông tin tin này có thể viết

ra output hoặc gán vào các biến)

<?php

$output = `dir c: \\ ` ;

echo " $output " ;

?>

Trang 53

II.2.8 Toán tử tăng, giảm

Trang 54

II.2.9 Các toán tử logic

Example Name Result

$a and $b And TRUE if both $a and $b are TRUE.

$a or $b Or TRUE if either $a or $b is TRUE.

$a xor $b Xor TRUE if either $a or $b is TRUE, but not both.

$a && $b And TRUE if both $a and $b are TRUE.

$a || $b Or TRUE if either $a or $b is TRUE.

Trang 55

II.2.10 Toán tử trên string

 Có 2 toán tử trên string ( và =)

Trang 56

II.2.11 Toán tử trên mảng

Đối với mảng, chỉ có toán tử +, toán tử này nối 2 mảng với nhau (các phần trùng khóa được lấy ở toán hạng trái)

Trang 57

II.3 Các cấu trúc điều khiển

II.3.1 Cấu trúc if, else, elseif, endif

II.3.2 Cấu trúc while / do while

II.3.3 Cấu trúc for / for each

II.3.4 Sử dụng break, continue trong các vòng lặp

II.3.5 Cấu trúc switch

Trang 58

II.3.1 Cấu trúc if, else, elseif, endif

Trang 59

II.3.2 Cấu trúc while / do while

} while ($i > 0);

?>

Trang 60

II.3.3 Cấu trúc for / for each

print "$i \n ", $i ++);

echo " - \n "; for ( $i = 1 ; $i <= 20 ; $i ++):

print "$i \n ";

endfor

?>

Trang 61

II.3.3 Cấu trúc for / for each (2)

foreach (array_expression as $value) statement

foreach (array_expression as $key => $value) statement

<?php

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

reset ( $arr );

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

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

}

foreach ( $arr as $value ) {

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

}

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

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

Trang 62

II.3.4 Sử dụng break, continue trong các vòng lặp

<?php

Trang 63

II.3.4 Sử dụng break, continue trong các vòng lặp (2)

Trang 64

II.3.5 Cấu trúc switch

Trang 66

II.4.1 Hàm tự định nghĩa (user-defined)

<?php

function foo ( $arg_1 , $arg_2 , , $arg_n ) {

echo "Example function \n " ;

Trang 67

II.4.2 Truyền tham số

PHP hỗ trợ truyền tham số vào hàm, truyền tham số dưới dạng tham chiếu (reference), truyền tham số với giá trị mặc định

<?php

function takes_array( $input ) {

echo "$input[0] + $input[1] = ", $input [ 0 ]+ $input [ 1 ];

}

function add_some_extra(& $string ) {

Trang 68

II.4.2 Truyền tham số (2)

function makecoffee ( $type = "cappuccino") {

return "Making a cup of $type \n ";

}

echo makecoffee ();

echo makecoffee ("espresso");

function makeyogurt ( $type = "acidophilus", $flavour ) {

return "Making a bowl of $type $flavour \n ";

}

// won't work as expected

echo makeyogurt ("raspberry");

function makeyogurt ( $flavour , $type = "acidophilus") {

return "Making a bowl of $type $flavour \n ";

}

// works as expected

echo makeyogurt ("raspberry");

Trang 69

II.4.2 Truyền tham số (3)

Bạn có thể truyền tham số với số lượng không xác định Khi đó sẽ sử dụng các hàm sau

func_num_args(): Số lượng tham số

func_get_args(): Lấy danh sách các tham số

Ngày đăng: 22/04/2013, 21:10

Xem thêm

HÌNH ẢNH LIÊN QUAN

IV. Các hàm làm việc với hình ảnh - lập trình php
c hàm làm việc với hình ảnh (Trang 2)
VII. Hình ảnh - lập trình php
nh ảnh (Trang 150)

TỪ KHÓA LIÊN QUAN

w