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

Programming HandBook part 65 pptx

6 239 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

VD : $output = `ls -al`; //liệt kê các file bằng lệnh Linux echo "<pre>$output</pre>"; 9 LỚP VÀ ĐỐI TƯỢNG: Class: là tập hợp các biến và hàm làm việc với các biến này. Một lớp có định dạng như sau: PHP Code: <?php class Cart { var $items; // Items in our shopping cart // Add $num articles of $artnr to the cart function add_item ($artnr, $num) { $this->items[$artnr] += $num; } // Take $num articles of $artnr out of the cart function remove_item ($artnr, $num) { if ($this->items[$artnr] > $num) { $this->items[$artnr] -= $num; return true; } else { return false; } } } ?> Lớp Cart ở đây là một kiểu dữ liệu, vì vậy bạn có thể tạo một biến có kiểu này với toán tử new VD: $cart = new Cart; $cart->add_item("10", 1); Lớp có thể được mở rộng bằng những lớp khác. Lớp mới thu được có tất cả những biến và hàm của cá lớp thành phần. Thực hiện việc thừa kế này bằng từ khoá "extends". Chú ý : kế thừa nhiều lớp 1 lúc không được chấp nhận. VD : class Named_Cart extends Cart { var $owner; function set_owner ($name) { $this->owner = $name; } } Các hàm khởi tạo của lớp được gọi tự động khi bạn gọi toán tử new. Tuy nhiên, các hàmkhởi tạo của lớp cha sẽ không được gọi khi hàm khởi tạo của lớp con được gọi. Hàm khởi tạo có thể có đối số hoặc không, 10. THAM CHIẾU: Tham chiếu trong PHP có nghĩa là lấy cùng 1 giá trị bằng nhiều tên biến khác nhau. Khác với con trỏ trong C, tham chiếu là một bảng các bí danh. Chú ý : trong PHP, tên biến và nôi dung của biến là khác nhau. Vì vậy, cùng 1 nội dugn có thể có nhiều tên khác nhau. Tham chiếu PHP cho phép bạn tạo 2 biến có cùng nôi dung. VD : $a = & $b; > $a, $b trỏ tới cùng 1 giá trị. Tham chiếu truỳen giá trị bằng tham chiếu. Thực hiện việc này bằng cách tạo một hàm cục bộ và truyền giá trị được tham chiếu VD: function foo (&$var) { $var++; } $a=5; foo ($a); > Kết quả : $a = 6; Giá trị trả lại của một hàm bằng tham chiếu rất tiện khi bạn muốn sử dụng hàm để tìm 1 giá trị trong 1 phạm vi nào đó. VD : function &find_var ($param) { code return $found_var; } $foo =& find_var ($bar); Khi bạn muốn loại bỏ mối liên kết giữa tên biến và giá trị của biến, sử dụng hàm unset() VD : $a = 1; $b =& $a; unset ($a); 11. THAO TÁC VỚI ẢNH: PHP không bị giới hạn với mã HTML được trả lại cho trình duyệt. Vì vậy, có thể dùng PHP để tạo và thao tác với các file ảnh có định dạng khác nhau, bao gồm :gif, png, jpg, wbmp, and xpm. PHP có thể đưa các file ảnh trực tiếp đến các trình duyệt. Bạn sẽ cần biên dịch PHP với thư viện GD bao gồm các hàm thao tác với ảnh. GD và PHP có thể sẽ cần có thêm 1 số thư viện khác, tuỳ thuộc vào định dạng của file ảnh cần dùng. VD : Tạo ảnh GIF với PHP PHP Code: <?php Header("Content-type: image/gif"); $string=implode($argv," "); $im = imagecreatefromgif("images/button1.gif"); $orange = ImageColorAllocate($im, 220, 210, 60); $px = (imagesx($im)-7.5*strlen($string))/2; ImageString($im,3,$px,9,$string,$orange); ImageGif($im); ImageDestroy($im); ?> giả sử VD trên trong file button.php . KHi đó, để sử dụng ta dùng tag : <img utton.php?text">. , 12. MySQL và PHP Để connect tới 1 CSDL trên MySQL server rất đơn giản. Bạn chỉ cần dùng hàm mysql_connect(host, user, password) để mở 1 kết nối tới MYSQL server với kết quả là giá trị trả về của hàm (Giả sử là biến $db). Sau đó, dùng hàm mysql_select_db(database_name, link_id) để chọn CSDL bạn muốn kết nối. Để thực hiện một câu lệnh truy vấn, dùng hàm mysql_query(query, link_ID). Giá trị trả lại của hàm là kết quả của câu truy vấn. Nếu bỏ qua link_ID thì kết nối cuối cùng tới MySQL server sẽ được thực hiện. Bạn có thể xem ví dụ sau sẽ hiểu rõ hơn. PHP Code: <html> <body> <?php $db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); $result = mysql_query("SELECT * FROM employees",$db); printf("First Name: %s<br>\n", mysql_result($result,0,"first")); printf("Last Name: %s<br>\n", mysql_result($result,0,"last")); printf("Address: %s<br>\n", mysql_result($result,0,"address")); printf("Position: %s<br>\n", mysql_result($result,0,"position")); ?> </body> </html> Ngoài cách dùng hàm mysql_result() để lấy kết quả thực hiện , bạn có thể dùng các hàm khác : mysql_fetch_row(), mysql_fetch_array(), and mysql_fetch_object(). * mysql_fetch_row($result) : trả về một mảng các dữ liệu lấy từ 1 dòng trong CSDL. Nếu đã ở cuối CSDL, giá trị trả về là false. Bạn phải dùng chỉ số của các trường trong CSDL nếu muốn lấy dữ liệu, VD : PHP Code: <html> <body> <?php $db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); $result = mysql_query("SELECT * FROM employees",$db); echo "<table border=1>\n"; echo "<tr><td>Name</td><td>Position</tr>\n"; while ($myrow = mysql_fetch_row($result)) { printf("<tr><td>%s %s</td><td>%s</td></tr>\n", $myrow[1], $myrow[2], $myro w[3]); } echo "</table>\n"; ?> </body> </html> * mysql_fetch_array (int result [, int result_type]) : trả về một mảng chứa dữ liệu lấy từ 1 dòng trong CSDL. Tương tự như mysql_fetch_row() nhưng bạn có thể lấy trực tiếp tên trường để lấy dữ liệu. VD : Cùng một CSDL như trên, bạn có thể thấy sự khác biệt PHP Code: <html> <body> <?php $db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); $result = mysql_query("SELECT * FROM employees",$db); if ($myrow = mysql_fetch_array($result)) { do { printf("<a href=\"%s?id=%s\">%s %s</a><br>\n", $PHP_SELF, $myrow["id"], $ myrow["first"], $myrow["last"]); } while ($myrow = mysql_fetch_array($result)); } else { echo "Sorry, no records were found!"; ?> </body> </html> *mysql_fetch_object : chuyển kết quả thành một đối tượng với các trường là các trường trong CSDL. VD : PHP Code: <?php mysql_connect ($host, $user, $password); $result = mysql_db_query ("database", "select * from table"); while ($row = mysql_fetch_object ($result)) { echo $row->user_id;

Ngày đăng: 03/07/2014, 09:20