Sơ lược về PHP 2007-07-09 09:05:04
Giới thiệu
- PHP là 1 ngôn ngữ lập trình máy chủ(server) dùng để tạo website động.
- PHP được dùng rộng rãi, hiệu quả và hòan tòan miễn phí. Cấu trúc của PHP đơn giản giống như Perl hay C, từ khóa ngắn gọn dễ nhớ.
- PHP thường được dùng trên Apache (web server) trên các hệ điều hành khác nhau (Linux,Unix,...) hoặc IIS trên Windows.
- Một file PHP có thể chứa Text,thẻ HTML và script PHP và có phần mở rộng là .php , khi biên dịch file PHP chỉ có phần script PHP được thực thi.
Yêu cầu khi học PHP:
- có kiến thức cơ bản về HTML/XHTML và ngôn ngữ lập trình
Hệ thống: cần cài đặt
- Apache http://httpd.apache.org/download.cgi
- PHP http://www.php.net/downloads.php
- MySQL http://www.mysql.com/downloads/index.html
hoặc AppServ: http://prdownloads.sourceforge.net/appserv/appserv-win32-2.5.8.exe?download để setup cả 3 phần trên
Lưu ý:
- tất cả đều miễn phí
- người ta thường sử dụng bộ 3 Apache,PHP,MySQL, điều đó không có nghĩa là PHP chỉ sử dụng được MySQL hay Apache, ví dụ: có thể dùng PHP với MSSQL,Access.... hay với IIS trên Windows.
- PHP là 1 ngôn ngữ lập trình máy chủ(server) dùng để tạo website động.
- PHP được dùng rộng rãi, hiệu quả và hòan tòan miễn phí. Cấu trúc của PHP đơn giản giống như Perl hay C, từ khóa ngắn gọn dễ nhớ.
- PHP thường được dùng trên Apache (web server) trên các hệ điều hành khác nhau (Linux,Unix,...) hoặc IIS trên Windows.
- Một file PHP có thể chứa Text,thẻ HTML và script PHP và có phần mở rộng là .php , khi biên dịch file PHP chỉ có phần script PHP được thực thi.
Yêu cầu khi học PHP:
- có kiến thức cơ bản về HTML/XHTML và ngôn ngữ lập trình
Hệ thống: cần cài đặt
- Apache http://httpd.apache.org/download.cgi
- PHP http://www.php.net/downloads.php
- MySQL http://www.mysql.com/downloads/index.html
hoặc AppServ: http://prdownloads.sourceforge.net/appserv/appserv-win32-2.5.8.exe?download để setup cả 3 phần trên
Lưu ý:
- tất cả đều miễn phí
- người ta thường sử dụng bộ 3 Apache,PHP,MySQL, điều đó không có nghĩa là PHP chỉ sử dụng được MySQL hay Apache, ví dụ: có thể dùng PHP với MSSQL,Access.... hay với IIS trên Windows.
Tra loi 6 comment(s) 2007-07-09 09:05:04
TG 2007-07-09 09:06:51
1. Cấu trúc(PHP syntax)
- 1 đọan script PHP luôn luôn nằm trong cặp thẻ đóng/mở của PHP (<?php và ?>) và có thể đặt bất kỳ chỗ nào trong file
Ví dụ:
<html>
<body>
<?php
echo "Hello World";
?>
</body>
</html>
Ngòai ra, có thể dùng các cặp thẻ đóng mở sau:
(1) <? và ?> hoặc
(2) <?php và ?> hoặc
(3) <script language="php"> và </script> hoặc
(4) <% và %>
cách (1) chỉ có hiệu lực khi short_open_tag được mở trong file cấu hình PHP
tương tự, cách (4) cũng thực hiện khi asp_tag được mở trong file cấu hình PHP
- Mỗi dòng lệnh trong PHP được kết thúc bằng dấu chấm phẩy (;)
- Có 3 cách chú thích (comment) trong PHP
Cách1:
// comment cho 1 dòng
[u]Cách2:
# comment cho 1 dòng
Cách3:
/* comment
cho nhiều dòng
*/
Tra loi
TG 2007-07-09 09:07:36
2. Kiểu dữ liệu:
Boolean: : là kiểu dữ liệu cơ bản nhất bao gồm 2 giá trị TRUE(đúng) và FALSE(sai)
Ví dụ 1:
<?php
$foo = TRUE; // gán giá trị TRUE cho biến $foo
?>
Interger: : dữ liệu số nguyên bao gồm các giá trị {-2147483648..-2,-1,0,1,2,...2147483647}
Ví dụ:
<?php
$a = 1234;
$a = -123;
$a = 0123; // số bát phân (= 83 hệ thập phân)
$a = 0x1A; // số thập lục phân (= 26 hệ thập phân)
?>
Chú ý: 2147483648 (>2147483647) sẽ đựơc hiểu là số thực float
Float: : kiểu số thực
Ví dụ:
<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>
String: : kiểu chuỗi, là 1 dãy các ký tự liên tiếp và được giới hạn bởi ' (single quote) hoặc " (double quote) hoặc heredoc
Ví dụ:
- single quote:
<?php
$url = 'phpbasic.com';
print 'this is a simple string'; //kết quả: this is a simple string
print 'double quote " '; // kết quả: double quote "
print 'single quote ' '; //kết quả: single quote '
print 'value: $url '; //kết quả: value $url
?>
- double quote:
<?php
$url = 'phpbasic.com';
print 'this is a simple string'; //kết quả: this is a simple string
print "double quote " "; // kết quả: double quote "
print "single quote ' "; //kết quả: single quote '
print "value: $url "; //kết quả: value: phpbasic.com
?>
Array: : mảng, giống như 1 tấm bản đồ thế giới, căn cứ vào tọa độ (key) để xác định quốc gia (value)
Cấu trúc:
array( [key =>] value
, ...
)
//kiểu dữ liệu của key có thể là Integer hoặc String
// kiểu dữ liệu của value: bất kỳ
Ví dụ 1:
<?php
$arr = array("foo" => "bar", 12 => true);
print $arr["foo"]; // bar
print $arr[12]; // 1
?>
Ví dụ 2: mảng nhiều chiều(2 chiều)
<?php
$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));
print $arr["somearray"][6]; // 5
print $arr["somearray"][13]; // 9
print $arr["somearray"]["a"]; // 42
?>
Object: : kiểu đối tượng, đựơc tạo với new objectName
Ví dụ:
<?php
class foo
{
function do_foo()
{
echo "Doing foo.";
}
}
$bar = new foo;
$bar->do_foo(); //kết quả: Doing foo.
?>
Resource: : là 1 kiểu dữ liệu đặc biệt được tạo ra bởi 1 số hàm: mysql_query(), imagecreate(), .....
NULL: : giá trị đặc biệt NULL để cho biết rằng 1 biến không có giá trị
Giá trị NULL chỉ được tạo trong các trường hợp sau:
- được gán cho giá trị NULL ($var = NULL)
- chưa đựơc gán cho bất kỳ giá trị nào
- được tạo khi dùng hàm unset()
Ép kiểu: Dùng để ép 1 kiểu dữ liệu sang 1 kiểu khác
Ví dụ:
<?php
$a = "5 start"; // string
$b = (int) '5 start'; //interger, $b = 5
$c = 25/7; // float $c = 3.5714285714286
$d = (int) (25/7); // int $d = 3
?>
Chú ý: PHP là 1 ngôn ngữ thông minh, tự động nhận ra kiểu dữ liệu đang sử dụng và có thể thay đỗi khi giá trị của biến thay đổi, đó cũng là lý do vì sao trong PHP không cần khai báo kiểu dữ liệu khi khai báo biến.
Ví dụ:
<?php
$foo = "0"; // $foo is string (ASCII 48)
$foo += 2; // $foo is now an integer (2)
$foo = $foo + 1.3; // $foo is now a float (3.3)
$foo = 5 + "10 Little Piggies"; // $foo is integer (15)
$foo = 5 + "10 Small Pigs"; // $foo is integer (15)
$a = 'car'; // $a is a string
$a[0] = 'b'; // $a is still a string
echo $a; // bar
?>
- heredoc:
<?php
print <<<PHPBASIC
"I love phpBasic"
PHPBASIC;
//kết quả: "I love phpBasic"
$str = <<<PHPBASIC
"I love phpBasic"
PHPBASIC;
print $str;
//kết quả: "I love phpBasic"
$str = "phpBasic";
print <<<EOF
"I love $str"
EOF;
//kết quả: "I love PHP";
?>
Chú ý:
* dùng PHPBASIC,EOF,... là do người viết tự định nghĩa
** phía trước thẻ đóng (EOF,PHPBASIC) của here doc không được có khoảng trắng,tab,...
Tra loi
TG 2007-07-09 09:09:02
3. Biến số:
- Biến dùng để lưu trữ các giá trị: số, chuỗi,... để có thể sử dụng nhiều lần trong code
- Tất cả các biến trong PHP đều được bắt đầu bằng ký tự $
- Tên biến hợp lệ là :
Tên biến phải bắt đầu bằng ký tự chữ (a-zA-Z) hoặc dấu gạch chân( _ )
Tên biến chỉ đựơc chứa các ký tự chữ (a-zA-Z) hoặc dấu gạch chân( _ )
Tên biến không được bắt đầu bằng số (ví dụ: $5php)
Tên biến không đựơc chứa khỏan trắng
- Dùng dấu chấm (.) để nối các biến lại với nhau
Ví dụ:
<html>
<body>
<?php
$txt1="Hello World";
$txt2="1234";
print $txt1 . " " . $txt2 ; //kết quả: Hello World 1234
?>
</body>
</html>
Biến tham chiếu và tham trị:
<?php
//tham trị
$var1 = "PHP";
$var2= $var1 ; // gán giá trị $var1 cho $var2
$var2 = "BASIC";
print "$var1,$var2"; // PHP,BASIC
//tham chiếu
$var3 = &$var1; // gán tham chiếu của $var1 cho $var3
$var3 = "BASIC";
print "$var1,$var3"; //prints "BASIC, BASIC"
?>
Một số biến được PHP định nghĩa trước:
$GLOBALS: Lấy giá trị biến tòan cục từ 1 ví trí bất kỳ: trong function, trong class,..
Ví dụ:
<?php
$a = 'phpbasic';
print $a;//kết quả: phpbasic
print $GLOBALS['a'];//kết quả: phpbasic
function php() {
print 'a = '.$a; //kết quả: a =
print 'a = '.$GLOBALS['a']; //kết quả: phpbasic
}
?>
* Ngòai cách sử dụng $GLOBALS để lấy giá trị biến $a vào trong function ta có thể dùng cách sau:
<?php
$a = 'php';
function php(){
global $a;
print $a; //kết quả: php
}
?>
$_SERVER: Lấy 1 số thông tin về server như: SERVER_NAME,SERVER_PROTOCOL,.....
Ví dụ 1:
<?php
$_SERVER['SERVER_NAME'] => localhost
$_SERVER['SERVER_ADDR'] => 127.0.0.1
$_SERVER['SERVER_PORT'] => 80
$_SERVER['REMOTE_ADDR'] => 127.0.0.1
?>
Ví dụ 2: in tất cả các thuộc tính của $_SERVER
<?php
print_r($_SERVER);
?>
$_GET: lấy dữ liệu từ URL hoặc từ form với method="GET"
Ví dụ: url = index.php?id=<number>
index.php
<?php
print $_GET['id'];
?>
Khi đó nội dung của file index.php sẽ thay đổi tùy theo URL được gọi
$_POST: lấy dữ liệu từ form với method="POST"
Ví dụ:
index.php
<?php
print $_POST['name_input'];
?>
<form id="form1" name="form1" method="post" action="index.php">
Name: <input type="text" name="name_input" />
<input type="submit" name="Submit" value="Submit" />
</form>
$_REQUEST: Lấy dữ liệu thông qua phương thức GET ($_GET) và POST ($_POST)
$_COOKIE: Lấy giá trị từ biến cookie
Ví dụ:
<?php
session_start();
setcookie('phpbasic','good',3600*24); // tạo cookie tên phpbasic có giá trị good và sau 24*3600 giây thì tự hủy
print $_COOKIE['phpbasic']; //kết quả : good
?>
chú ý: cookie là 1 tập tin nhỏ được ghi xuống ỗ cứng máy client, do đó giá trị cookie vẫn tồn tại khi tắt trình duyệt, đây là đặc điểm mà dựa vào đó người ta có thể lưu lại thông tin trên máy
$_SESSION: Lấy dữ liệu từ biến session
Biến session là biến mà giá trị nó tồn tại từ trang này qua trang khác trong cùng 1 phiên làm việc
Ví dụ: 1 biến $a đựơc khai báo từ trang 1, thì khi sang trang 2 biến $a không tồn tại trong khi đó nếu ta đăng ký $a là 1 biến session thì giá trị của nó vẫn giữ được ở trang 2 với điều kiện trang 1 và trang 2 cùng 1 phiên làm việc
Ví dụ:
trang1.php:
<?php
session_start(); //ở đầu trang
//....
$_SESSION['a'] = "xin chào";
$b = 1;
print '<a href="trang2.php">Trang 2</a>';
?>
trang2.php
<?php
session_start();
print 'a = '.$a; //kết quả: a = xin chào
print 'b = '.$b; //kết quả: b =
// $a là biến session, $b là biến thông thường
?>
$_FILES: lấy thông tin của file trong quá trình upload file
Ví dụ: tạo file index.php có nội dung
index.php
<?php
if($_POST)
{
print $_FILES['file'][name] ; //kết quả: tên file đã chọn và submit
print $_FILES['file'][type] ;//kiểu mime type của file
print $_FILES['file'][tmp_name]; // file tạm (ví dụ: C:WINDOWSTEMPphp1444.tmp)
print $_FILES['file'][error]; //báo lỗi
print $_FILES['file'][size];//kích thước file , tính theo bytes
}
?>
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="">
<input type="file" name="file" />
<input type="submit" name="Submit" value="Submit" />
</form>
Tra loi
TG 2007-07-09 09:09:30
4.Hằng số:
Trong PHP cho phép định nghĩa 1 hằng số
<?php
define("CONSTANT", "Hello world.",[b]true[/b]);
echo CONSTANT; // outputs "Hello world."
?>
* Khi định nghĩa: define('CONSTANT','value',false) thì cả 2 chuỗi CONSTANT và constant đều đuợc hiểu là hằng CONSTANT
Các hằng số có giá trị tòan cục, nghĩa là có thể sử dụng nó ở bất cứ đâu miễn là sau khi nó đựơc định nghĩa
Ngòai ra, giá trị của CONSTANT là không thay đổi trong tòan bộ chương trình cho dù bạn có define lại giá trị của nó
<?php
define('CONSTANT',1,true);
define('CONSTANT',2,true);
echo CONSTANT; // kết quả: 1
?>
Tra loi
TG 2009-02-06 11:51:43
5. Magic constant: PHP cung cấp 1 số hằng được định nghĩa sẵn gọi là "Magic constant" bao gồm:
__LINE__ : lấy dòng hiện tại của file
ví dụ:
1 <?php
2 // comment
3 echo __LINE__; // kết quả = 3, giá trị này phụ thuộc vào dòng chưa câu lệnh "echo __LINE__;"
4 ?>
__FILE__ trả về giá trị là đường dẫn đến file chứa code
ví du: file a.php có nội dung
<?php
echo __FILE__; // kết quả: path_to/a.php
?>
__FUNCTION__ trả về tên function
ví dụ:
<?php
function a($arg=NULL){
if(!$arg) die("Phải truyền tham số cho hàm ".__FUNCTION__);
///
}
a(); // kết quả:Phải truyền tham số cho hàm a
?>
__CLASS__: tương tự như __FUNCTION__, trả về tên của class hiện tại
__METHOD__: tương tự như __FUNCTION__, trả về tên của method hiện tại
Tra loi
gaulucky92 2009-02-07 01:12:41
( 09/07/2007 09:09:30)
( 06/02/2009 11:51:43)
=))
Tra loi
Y kien