Bài 4: Chương trình PHP đầu tiên: Hello World!

I. Khởi đầu

Nếu các bạn đã từng học lập trình, chắc các bạn cũng biết được "Hello world!" là cái gì, còn nếu bạn nào chưa biết, thì tôi sẽ giải thích ngay đây:

"Hello world!" là một chương trình dành cho những người mới bắt đầu học một ngôn ngữ lập trình nào đó. Chương trình này đơn giản chỉ viết duy nhất một dòng chữ "Hello world!" ra màn hình. Các bạn  không phải là không bỏ qua nó nếu đã biết từ trước, còn nếu bạn nào chưa học, thì chúng ta bắt tay vào viết chương trình này bằng PHP nhé.

Hãy mở NotePad ra, gõ vào mô tả chi tiết sau:
<HTML>
<BODY>
<?php
echo ("Hello world!");
?>
</BODY>
</HTML>
OK, Save lại với cái tên test.php. Copy nó vào thư mục gốc (Root Directory) mặc định của Web server. Khởi động Web server Apache lên (nó sẽ hiển thị một cửa sổ đen ngòm,  chúng ta cứ để đó, đừng tắt nó đi, vì nếu tắt đi thì tức là bạn đã tắt chương trình Web server Apache đi rồi đấy).

Bây giờ mở trình duyệt ra, tại ô địa chỉ, gõ  content sau: "http://127.0.0.1/test.php" (nhớ bỏ hai dấu ngoặc kép đi nhé)

Nó sẽ hiển thị ra cửa sổ trình duyệt với duy nhất dòng chữ Hello world!

Chắc ta thất vọng lắm hả? Vâng, nó chỉ có mỗi dòng chữ "Hello world!" trên màn hình trình duyệt, mà  chúng ta  không phải là không làm nó đơn giản hơn rất nhiều, chẳng cần đến cái PHP kia. OK. Đừng thất vọng vội.

Chương trình này hoạt động như thế nào? Trước tiên chúng ta hãy tìm hiểu cách thức hoạt động của hệ trình duyệt (Web Client) và máy chủ cung cấp dịch vụ Web (Web server ) đã nhé:

Bước 1: Trình duyệt gửi một yêu cầu HTTP đến máy chủ, yêu cầu một file nào đó

Bước 2: Máy chủ sẽ chuyển yêu cầu này đến chương trình xử lý tương ứng, chính là chương trình Web server.

Bước 3: Web server phân tích chuỗi yêu cầu nhận được, kiểm tra look trình duyệt ở máy khách yêu cầu gì. Nếu đó là các file bình thường (không phải là các file chứa các đoạn mã script thực thi phía máy chủ), nó sẽ tìm kiếm file đó và trả về cho trình duyệt ở máy khách. Còn nếu đó là các file chứa các đoạn mã script thực thi phía máy chủ (các chương trình CGI, hay các file thư viện liên kết động ISAPI, hoặc các file *.asp hay *.php), nó sẽ triệu gọi chương trình thực thi các đoạn mã này. Chương trình này sẽ chịu trách nhiệm chạy các đoạn mã, trả chúng về cho Web server dưới khuôn dạng của HTML. Sau đó, Web server mới trả kết quả lấy được cho trình duyệt.

Như vậy, chương trình của bạn phải được thực thi trên máy chủ, sau đó mới được trả về cho trình duyêt. Và đây chính là cái gọi là "Trang Web động". Không như các trang web tĩnh, trang web động cho phép chúng ta có sự tương tác với máy chủ thông qua các đoạn script thực thi phía server. Nhờ có sự tương tác này,  chúng ta  không phải là không truy xuất cơ sở dữ liệu, lấy thông tin người sử dụng, điều khiển các hoạt động khác...

OK. Bây giờ chắc bạn đã có được chút ít hiểu biết với các hệ thống điều khiển Web Client - Server rồi. Đến lượt chúng ta bắt đầu phân tích chương trình đầu tiên kia.

II. Phân tích chương trình

Quay trở về đoạn mã trên.
Điều đầu tiên các bạn cần phải biết, đó là các đoạn mã thực thi PHP luôn luôn được đặt trong thẻ <?php .... ?>. Chương trình xử lý phía máy chủ sẽ chỉ thực thi các đoạn mã nằm trong thẻ này. toàn bộ các đoạn mã khác nằm ngoài thẻ trên đều không được xử lý trực tiếp trên server mà được đưa về trình duyệt.

PHP Code:
<?php
// Đoạn mã PHP đặt ở đây
?>
Điều thứ 2 ta cần biết là chương trình của bạn phải được đặt trong các file *.php. Nếu bạn đặt nó vào file khác, thì đừng mong nó chạy nhé, vì nguyên tắc của chương trình Web server là chỉ triệu gọi các chương trình xử lý tương ứng với các file có đuôi xác định trước.

Điều thứ 3 bạn cần biết là trong file *.php của bạn, ngoài các đoạn script PHP,  chúng ta có thể đặt bất kỳ cái gì theo khuôn dạng HTML, kể cả các đoạn JavaScript chạy trên máy khách. Tức là ngoại trừ các đoạn script PHP ra thì nó không khác gì một file HTML thông thường

Điều thứ 4 các bạn cần biết, là chúng ta có thể đặt nhiều đoạn mã xử lý PHP khác nhau trong cùng một file PHP. Các đoạn mã PHP này sẽ được thực thi lần lượt từ đầu file xuống dưới. Hãy view  giả sử sau:
PHP Code:
<HTML>
<BODY>
    <?php
    echo ("Hello world!");
    ?>
    <BR>
    Xin chao tat ca cac ban, day la chuong trinh PHP dau tien cua toi
    <?php
    echo ("<p align=right> CMXQ </p>")
    ?>
</BODY>
</HTML>
Khởi đầu, chương trình xử lý phía Web server sẽ phân tích file PHP này, trả về đoạn mã
PHP Code:
<HTML>
<BODY>
Tiếp theo, khi thấy đoạn mã thứ nhất, nó sẽ thực thi và trả về dòng "hello, world" (Dòng này do hàm echo() của PHP thực hiện). Sau đó, nó tiếp tục trả về các dòng

HTML Code:
<BR>
Xin chao tat ca cac ban, day la chuong trinh PHP dau tien cua toi

Đến khi gặp đoạn PHP thứ 2, nó sẽ thực thực thi đoạn mã thứ 2 này (gọi hàm echo()) và trả về kết quả:

HTML Code:
"<p align=right> CMXQ </p>"
Hết đoạn mã thứ 2. Nó sẽ gửi tiếp phần còn lại của file về cho Web server. Sau đó, Web server chính thức trả toàn bộ kết quả về cho trình duyệt.

Điều quan trọng cuối cùng: Kết thúc mỗi câu lệnh của PHP đều là một dấu chấm phẩy (";"), ngoại trừ một vài trường hợp (các bạn sẽ được biết sau này)

Bây giờ tôi xin giải thích cách sử dụng hàm duy nhất trong bài này: echo()

Hàm echo được sử dụng để trả về  mô tả chi tiết của các biến, hằng, chuỗi... cho trình duyệt. Ở ví dụ trên, hàm echo trả về chuỗi "hello, world" và chuỗi "<p align=right> Le Nguyen Sinh </p>". Các thẻ HTML trong chuỗi sẽ được giữ nguyên khi nó được đưa về trình duyệt, và nó sẽ được xử lý như các thẻ HTML khác.

III. Một số lưu ý

Dấu chú thích:

Các đoạn chú thích rất hữu dụng trong các chương trình của bạn (chẳng hạn muốn chú thích câu lệnh này làm gì, đoạn chương trình này làm gì...). Khi phân tích mã PHP, các đoạn chú thích sẽ bị bỏ qua, nhưng một lập trình viên thì không bao giờ bỏ qua chúng

Chúng ta không phải là không sử dụng một số dấu chú thích sau trong PHP:

PHP Code:
// dòng văn bản chú thích (chỉ áp dụng trên một dòng)
/* Đoạn văn bản chú thích */ (nằm trong cặp /* và */
Lưu ý rằng các dấu chú thích này chỉ có hiệu lực trong các đoạn mã nhúng PHP thôi đấy nhé

Ví dụ

PHP Code:
<?php
    echo("Tôi là một oan hồn vô danh"); // Hiển thị lời giới thiệu lên màn hình

    echo (" Sơ yếu lý lịch");
    /* Hiển thị bản sơ yếu lý lịch
    Copyright © by CMXQ
    */
    echo ("Tên đầy đủ: XXXXXXX");
    echo ("Ngày sinh: XXXX");
?>
Ký tự giải phóng

Hãy chú ý đến dòng chữ sau:
My name's "CMXQ"

Để in nó ra màn hình, chắc các bạn sẽ làm như sau:

PHP Code:
<?php
    echo("My name's ""CMXQ"");
    ?>
Rất tiếc là bạn đã nhầm. PHP có quy định một số ký tự đặc biệt (Dấu ngoặc kép (") là một trong các ký tự đó). Một vài phiên bản của web server khi gặp lỗi này đã không thực hiện nữa, và thông báo lỗi đến người dùng. Còn trong một vài phiên bản khác, nó sẽ tự động chèn một dấu sượt chéo (/) trước ký tự gây lỗi này. Một dấu gạch chéo (\) trước ký tự gây lỗi khiến cho nó được đối xử như là một ký tự thông thường, không phải là ký tự đặc biệt. Ký tự này (\) được gọi là ký tự giải phóng (Escaping character).

Đoạn mã đúng như sau:

PHP Code:
<?php
    echo ("My name's: \"CMXQ\"");
    ?>
Dưới đây là một số các ký tự đặc biệt mà có thể được chỉ rõ với ký tự giải phóng gạch chéo

Ký tự nối tiếp Nghĩa
\' Dấu móc lửng (')
\" Dấu móc kép (")
\\ Dấu gạch chéo (\)
\$ Dấu $
\n Ký tự tạo dòng mới
\r Ký tự về đầu dòng
\t Ký tự Tab

Hãy view ví dụ dưới đây (yêu cầu ta tự tìm hiểu và phân tích mã nguồn)

PHP Code:
<?php
    $name="Tiến Tùng";
    echo("Giá trị của biến \$name là $name);
    ?>
OK. Đến bây giờ, bạn đã biết một chút về PHP rồi đấy. Hãy viết vài chương trình PHP, sử dụng hàm echo đi đã nhé . Nhớ chú ý cách thức xử lý các kết quả trả về. Hẹn gặp lại các bạn trong bài sau.
Chúc các ta thành công!
Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 nhận xét:

Đăng nhận xét