Tải bản đầy đủ (.pdf) (5 trang)

Programming HandBook part 63 ppsx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (134.24 KB, 5 trang )

2. Cài đặt như thế nào?
Cài PHP trên nền Window với IIS version 3 hoặc 4:
- Copy php.ini - dist vào thư mục Window. Đổi tên thành php.ini
- Sửa file php.ini như sau:
- Đặt lại đường dẫn mục : 'extension_dir' chuyển tới vị trí cài đặt php hoặc nơi để
các file php_*.ini. VD : c:\php
- Đặt đường dẫn chính xác đến file: browscap.ini trong thư mục Window.
- Chạy MMC , chọn Web site hoặc thư mục của ứng dụng
- mở mục Property của thư mục , chọn vào Home Directory, Virtual Directory hay
Directory.
- Vào mục: Configuration->App Mappings ->Add->Executable : c:\php\php.exe
%s %s. Chú ý phải có %s %s .
- Trong ô Extension, đánh đuôi file bạn muốn gắn với mã php. Thường là .php
hoặc .phtml
- Đặt chế độ sercurity thích hợp. Nếu dùng hệ thống NTFS, cần đặt cho phép thực
hiện với thư mục có php.exe

II.Ngôn ngữ PHP:

1/ Có 4 cách để dùng PHP;
1. <? echo ("this is the simplest, an SGML processing instruction\n"); ?>

2. <?php echo("if you want to serve XML documents, do like this\n"); ?>

3. <script language="php">
echo ("some editors (like FrontPage) don't
like processing instructions");
</script>

4. <% echo ("You may optionally use ASP-style tags"); %>
<%= $variable; # This is a shortcut for "<%echo " %>



Cách 1 chỉ có thể sử dụng nếu những tag ngắn được cho phép sử dụng. Có thể sửa
short_open_tag trong cấu hình của php hoặc biên dịch file php với lựa chọn cho
phép dùng các tag ngắn.
Tương tự như vậy, cách thứ 4 chỉ có tác dụng nếu asp_tag được đặt trong file cáu
hình của PHP
PHP cho phép hỗ trợ các kiểu chú thích của cả C, C++ và Unix shell.
VD:
PHP Code:
<?php
echo "This is a test"; // This is a one-line c++ style comment
/* This is a multi line comment
yet another line of comment */
echo "Another Test"; # This is shell-style style comment
?>
2. Các kiểu dữ liệu:
2.1Số nguyên : Được khai báo và sử dụng giá trị giiống với C:
VD: $a = 1234; # decimal number
$a = -123; # a negative number
$a = 0123; # octal number (equivalent to 83 decimal)
$a = 0x12; # hexadecimal number (equivalent to 18 decimal)

2.2 Số thực:
VD :$a = 1.234; $a = 1.2e3;
Chú ý: Khi sử dụng các số thực để tính toán , có thể sẽ làm mất giá trị của nó. Vì
vậy, nên sử dụng các hàm toán học trong thư viện chuẩn để tính toán.

2.3 Xâu :
Có 2 cách để xác định 1 xâu: Đặt giữa 2 dấu ngoặc kép (") hoặc giữa 2 dấu ngoặc
đơn ('.

Chú ý: Các biến giá trị sẽ không được khai triển trong xâu giữa 2 dấu ngoặc đơn.

2.4 : Mảng :
Mảng thực chất là gồm 2 bảng : bảng chỉ số và bảng liên kết.
a. Mảng 1 chiều : Có thể dùng hàm : list() hoặc array() hoặc liệt kê các giá trị của
từng phần iử trong mảng để tạo mảng . Có thể thêm các giá trị vào mảng để tạo
thành 1 mảng. > Dùng giống trong C
Có thể dùng các hàm asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort(), and
uksort() để sắp xếp mảng. Tuỳ thuộc vào việc bạn định sắp xếp theo kiểu gì.
b. Mảng nhiều chiều: Tương tự C. bạn có thể dùng như VD sau:
$a[1] = $f; # one dimensional examples
$a["foo"] = $f;
$a[1][0] = $f; # two dimensional
$a["foo"][2] = $f; # (you can mix numeric and associative indices)
$a[3]["bar"] = $f; # (you can mix numeric and associative indices)
PHP3 không thể tham chiếu trự tiếp từ một mảng nhiều chièu khi ở bên trong 1
xâu:
VD :
$a[3]['bar'] = 'Bob';
echo "This won't work: $a[3][bar]";
Kết quả trả ra sẽ là: This won't work: Array[bar].
Nhưng với VD sau sẽ chạy đúng:
$a[3]['bar'] = 'Bob';
echo "This will work: " . $a[3][bar];
Với PHP4, vấn đề sẽ được giả quyết bằng cách cho mảng vào giữa 2 dấu ngoặc
móc { }
VD : $a[3]['bar'] = 'Bob';
echo "This will work: {$a[3][bar]}";
PHP không yêu cầu phải khai báo trước kiểu dữ liệu cho các biến, Kiểu dữ liệu của
biến sẽ phụ thuộc vào kiểu dữ liệu mà bạn gán cho nó,

VD :
$foo = "0"; // $foo là kí tự ASCII 48
$foo++; // $foo is xâu "1" (ASCII 49)
$foo += 1; // $foo là số nguyên (2)
$foo = $foo + 1.3; // $foo là số thực (3.3)
$foo = 5 + "10 Little Piggies"; // $foo là số nguyên (15)

3. Biến - giá trị:
PHP quy định một biến được biểu diễn bắt đầu bằng dấu $, sau đó là một chữ cái
hoặc dấu gạch dưới.

3.1 Một số biến đã được tạo sẵn :
argv : Mảng tham số truyền cho script. Khi đoạn script chạy bằng dòng lệnh, tham
số này sẽ được dùng giống như C để truy nhập các tham số trên dòng lệnh.
argc : số các tham số đựoc truyền. Dùgn với argv;

PHP_SELF : tên cỷa đoạn mã script đang thực hiện. Nếu PHP đang được chạy từ
dòng lệnh thì tham số này không có giá trj.

HTTP_COOKIE_VARS: một mảng các giá trị được truyền tới script hiện tại bằng
HTTP cookie. Chỉ có tác dụng nếu "track_vars" trong cấu hình được đặt hoặc chỉ
dẫn <?php_track_vars?>

HTTP_GET_VARS: Mảng các giá trị truyền tới script thông qua phương thức
HTTP GET. Chỉ có tác dụng nếu "track_vars" trong cấu hình được đặt hoặc chỉ
dẫn <?php_track_vars?>

HTTP_POST_VARS:

3.2 Phạm vi giá trị:

PHP coi 1 biến có một giới hạn. Để xác định một biến toàn cục (global) có tác
dụng trong một hàm , ta cần khai báo lại. Nếu không giá trị của biến sẽ được coi
như là cục bộ trong hàm.
VD :
$a = 1;
$b = 2;

Function Sum () {
global $a, $b;

$b = $a + $b;
}

Sum ();
echo $b;

Khi có khai báo global ở trên, $a và $b được cho biết đó là những biến toàn cục.
Nếu không có khai báo global, $a và $b chỉ được coi là các biến bên trong hàm
Sum(). Điều này khác với C
Một cách khác để dùng biến toàn cục trong 1 hàm là ta dung mảng $GLOBAL của
PHP
VD ở trên sẽ có thể viết như sau:
$a = 1;
$b = 2;

Function Sum () {
$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
}

Sum ();

echo $b;

Một chú ý khác là khai báo static. Với khai báo này bên trong một hàm với 1 biến
cục bộ, giá trị của biến cục bộ đó sẽ không bị mất đi khi ra khỏi hàm.
VD :
Function Test () {
static $a = 0;
echo $a;
$a++;
}
Với khai báo như trên , $a sẽ không mất đi giá trị sau khi thực hiện lơi gọi hàm
Test() mà $a sẽ được tăng lên 1 sau mỗi lần gọi hàm Test().

3.3 Tên biến:
Một biến có thể gắn với 1 cái tên .
VD:
$a = "hello";
$$a = "world";
==> $hello = "world"


echo "$a ${$a}";
<==> echo "$a $hello";

Kết quả ra sẽ là : hello world

Chú ý : bạn có thể gặp phải trường hợp không rõ ràng khi sử dụng cách này với
mảng . VD : $$a[1] sẽ hiểu là bạn muốn dùng $a[1] như 1 biến hay dùng $$a như 1
biến với [1] là chỉ số?
Để tránh trường hợp này , cần có sựu phân biệt rõ bằng dấu { }. VD :${$a[1]}

hoặc ${$a}[1].

3.4 Các giá trị bên ngoài phạm vi PHP
HTML Form : khi 1 form gắn với 1 file php qua phương thức POST
VD:
HTML Code:
<form action="foo.php3" method="post">
Name: <input type="text" name="name"><br>
<input type="submit">
</form>

PHP sẽ tạo 1 biến $name bao gồm mọi giá trị trong truờng Name của Form.
PHP có thể hiểu được một mảng một chiều gồm các giá trị trong 1 form. Vì vậy,
bạn có thể nhóm những giá trị liên quan lại với nhau hoặc sử dụng đặc tính này để
nhận các giá trị từ 1 đầu vào tuỳ chọn.(multi select input)
Khi tính chất track_vars được đặt trong cấu hình hoặc có chỉ dẫn
<?php_track_vars?> . các giá trị được submit được lấy ra qua phương thức GET và

×