Tuesday, November 3, 2009

PHP - Giới thiệu - Các bước chuẩn bị cần thiết!

CÀI ĐẶT PHP

Để thực hành các ví dụ trong loạt bài hướng dẫn bạn cần phải cài đặt sẵn PHP trong máy của bạn, hoặc bạn phải có 1 website/hosting hỗ trợ PHP. Bạn có thể tham khảo một số bài viết hướng dẫn cài đặt PHP tại các địa chỉ:
- http://www.diendantinhoc.net/?article=41bc312b49&cat=web_php
- http://www.diendantinhoc.net/tute/hethong/apache-gd-mysql-php-linux/
- http://www.diendantinhoc.net/tute/hethong/apache-mysql-php-perl/
- http://www.diendantinhoc.net/tute/hethong/IIS-Perl-PHP-MySQL-duyson/
Các ví dụ trong bài viết sẽ được viết và chạy test trên PHP version 4.3.x trên các hệ thống:
- Windows 2k Pro/Server, XP Pro, Webserver IIS.
- Linux Redhat 9, Webserver Apache 2.0.x


CHỌN 1 CHƯƠNG TRÌNH SOẠN THẢO PHP

Để soạn thảo các mã nguồn chương trình PHP, bạn cần có một chương trình soạn thảo văn bản.
Trên Linux bạn có thể dùng vi/vim, gvim, kwrite...
Trên Windows bạn có thể dùng GVim for Windows, EditPlus, EmEditor, Dreamweaver MX...

Nếu bí quá không có gì xài, bạn xài tạm Notepad của Windows cũng được luôn. Nhưng bạn đừng lo, ở đây có khá nhiều chương trình soạn thảo PHP miễn phí: http://www.freeprogrammingresources.com/phpide.html.

Các ví dụ trong bài viết sẽ được soạn thảo trên vi/vim, kwrite trên Linux hoặc EditPlusEmEditor trên Windows.
Theo kinh nghiệm cá nhân của tôi, nếu bạn soạn thảo mã nguồn PHP trên Windows thì EditPlusEmEditor là 2 ứng cử viên xuất sắc: nhỏ gọn, nhiều chức năng tiện lợi. EditPlus có trội hơn EmEditor một chút về mặt tiện ích, nhưng lại khá bất tiện nếu như bạn muốn gõ tiếng Việt Unicode trong mã nguồn PHP. EmEditor hỗ trợ tiếng Việt Unicode khá tốt, nhưng mỗi file lại được mở trong 1 cửa sổ riêng, hơi choáng chỗ nếu như bạn phải soạn thảo nhiều file cùng một lúc.


LƯU FILE VỚI TIẾNG VIỆT UNICODE

Nếu bạn sử dụng tiếng Việt Unicode trong chương trình, bạn nên lưu file với encoding UTF-8, và khi lưu nhớ bỏ tuỳ chọn Save BOM Signature. Nếu không, 3 ký tự đánh dấu sẽ được tự động chèn vào đầu file mã nguồn PHP. 3 ký tự này nhiều chương trình soạn thảo văn bản hỗ trợ Unicode sẽ không hiển thị ra màn hình khi bạn mở file, nên bạn sẽ không biết là có 3 ký tự này ở đầu file, do đó có thể xảy ra một số lỗi không lường được.

Nếu bạn dùng EmEditor, khi bạn lưu file lần đầu tiên, hoặc lúc bạn Save as, bạn chỉ cần chọn Code PageUTF-8 và bỏ chọn mục Add a Unicode Signature (BOM) đi là được. Từ lần save thứ 2 trở đi, hoặc khi bạn mở file đã được save rồi thì bạn không cần phải chọn lại nữa.
Saving File as UTF8 Encoding

Nếu bạn quên không bỏ mục chọn Add a Unicode Signature (BOM), 3 ký tự đánh dấu sẽ được tự động chèn vào đầu file, và hậu quả có thể là như thế này:
UTF8 - Error 1

Hoặc có thể còn tệ hại hơn thế:
UTF8 - Error 2

Nếu bạn mở file ra xem bằng một chương trình không hỗ trợ Unicode, bạn sẽ thấy có 3 ký tự ở ngay đầu file:
UTF8 - BOM

Cho nên bạn hãy nhớ bỏ 3 ký tự đánh dấu BOM ở đầu file khi lưu ở bảng mã Unicode.


CHỌN 1 VĂN PHONG MÃ NGUỒN

Chọn một văn phong nhất quán trong soạn thảo mã nguồn sẽ giúp code của bạn sáng sủa, dễ đọc trên nhiều môi trường khác nhau; và như vậy cũng phần nào giúp bạn tránh gặp lỗi và dễ sửa lỗi trong chương trình.

Bạn có thể áp dụng các qui tắc sau trong văn phong soạn thảo mã nguồn của bạn:
- Dùng ký tự tab khi cần thụt đầu dòng, đặt tab-stop bằng 4 space.
- Hàm/Thủ tục con:
/*
Chú thích về funcA, cách sử dụng, danh sách tham số, kết quả trả về...
*/
function funcA(tham số) {
...
} //end funcA

- Lệnh if...else:
if ( điều kiện ) {
...
} else {
...
} //end if

- Lệnh for, while:
for ( ... ) {
...
} //end for

while ( điều kiện ) {
...
} //end while

Ngoài ra có một số văn phong và qui tắc mà bạn nên áp dụng:

  • bắt đầu chương trình bằng , tuyệt đối tránh sử dụng vì nhiều server không hiểu/hỗ trợ nên rất có thể chương trình của bạn ở server này thì chạy, đem qua server khác thì "im re".
  • viết chương trình trong điều kiện môi trường safe_mode=On, register_globals=Off, display_errors=Off và trạng thái của magic_quotes_gpc là không xác định. Vì đây thường là các cài đặt mặc định của nhiều server, bạn nên tập viết chương trình trong điều kiện môi trường như vậy sẽ giúp cho chương trình của bạn tránh khỏi nhiều phiền hà khi chuyển từ server này sang server khác.
    Nếu bạn nằm quyền điều khiển server (VD bạn cài trên máy ở nhà để viết chương trình, bạn hãy nên chỉnh cấu hình file php.ini cho đồng bộ với đa số các server hosting khác:
    • safe_mode=On: bật chế độ safe_mode sẽ làm cho hệ thống an toàn hơn đôi chút.
    • register_globals=Off: tắt chế độ register_globals bạn sẽ không còn sử dụng trục tiếp được các biến được truyền thẳng cho chương trình. Ví dụ: script của bạn được truy cập qua địa chỉ http://domain/script.php?test=123. Với register_globals=Off, chương trình của bạn không thể trực tiếp truy cập biến $test để lấy giá trị 123 mà cần phải truy cập qua $_GET['test']. Bạn đừng lo, register_globals=Off sẽ làm chương trình được nạp nhanh hơn và an toàn hơn.
    • display_errors=Off: tắt chế độ hiển thị thông tin về lỗi ra trình duyệt. Như vậy mỗi khi có lỗi màn hình sẽ...trắng bóc. Tuy khó debug chương trình hơn 1 chút nhưng như vậy sẽ an toàn hơn vì khi có lỗi, các thông tin về server sẽ không bị lôi hết ra hiển thị trên trình duyệt.
    • log_errors=On: vì lỗi sẽ không được hiển thị ra màn hình nữa nên bạn cần phải log lại vào file để sau này còn biết đường mà debug.
    • magic_quotes_gpc=Off: tắt magic_quotes sẽ làm chương trình được nạp nhanh hơn.
    • error_log=C:\php\error_log: chỉ định tên file sẽ dùng để lưu trữ error log.
    Bạn có thể tham khảo file php.ini-recommended (nằm trong file Zip khi bạn download PHP) để xem cấu hình gợi ý do chính nhóm phát triển PHP đề xuất.

No comments:

Post a Comment