Trước khi bắt đầu lập trình với bất kỳ ngôn ngữ nào, thì cú pháp cơ bản và cấu trúc chương trình là phần rất quan trọng. Chương này giới thiệu cho bạn cú pháp PHP cơ bản, bao gồm: thẻ php, comment, lệnh print, lệnh echo, và so sánh hai lệnh print và echo.

Kỹ thuật "Escaping to PHP"

PHP Parser cần một cách để phân biệt PHP code với các phần tử khác trong trang. Kỹ thuật thực hiện điều này được biết với cái tên: "Escaping to PHP". Có 4 cách để làm điều này là:

Thẻ PHP chính tắc

Phong cách thẻ PHP hiệu quả và được sử dụng phổ biến nhất là:

<?php...?>

Nếu bạn sử dụng phong cách này, bạn có thể chắc chắn rằng các thẻ của bạn sẽ luôn luôn được thông dịch một cách chính xác.

Thẻ mở ngắn gọn (SGML-style)

Các thẻ này có dạng như sau:

<?...?>

Để sử dụng thẻ này bạn thực hiện 1 hoặc 2 việc sau để kích hoạt PHP để nhận ra các thẻ này:

  • Chọn tùy chọn cấu hình --enable-short-tags khi bạn đang xây dựng PHP.

  • Thiết lập cài đặt short_open_tag trong tệp php.ini thành on. Tùy chọn này phải vô hiệu hóa để phân tích cú pháp XML với PHP, bởi vì cú pháp tương tự được sử dụng cho các thẻ XML.

Thẻ ASP-style

Thẻ ASP-style bắt chước các thẻ được sử dụng bởi Active Server Pages để phác họa các khối code. Các thẻ ASP-style có dạng như sau:

<%...%>

Để sử dụng thẻ ASP-style, bạn sẽ cần thiết lập tùy chọn cấu hình trong tệp php.ini.

Thẻ HTML script

Thẻ script trong HTML có dạng như sau:

<script language="PHP">...</script>

Hiển thị văn bản trên trình duyệt - Lệnh print và lệnh echo

Trong PHP, bạn có thể sử dụng hai lệnh printecho để in ra màn hình một chuỗi nào đó. Với các bạn mới học PHP thì hai lệnh này không khác nhau nhiều và bạn có thể sử dụng lệnh nào cũng được.

Ví dụ:

<html>
   
   <head>
      <title>Ví dụ chương trình PHP</title>
   </head>
   <body>
       <?php
         echo "Ví dụ minh họa lệnh echo! <br>";
   
         print "Ví dụ minh họa lệnh print!";
       ?>
   </body>
</html> 

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

Lệnh print và lệnh echo trong PHP

Bạn để ý trong phần code trên mình sử dụng <br> để xuống dòng. Nếu không sử dụng <br> thì hai dòng văn bản này sẽ được in liền nhau.

Nói cách khác, lệnh print và lệnh echo được sử dụng để định dạng phần HTML để hiển thị trên trình duyệt. Bạn có thể định dạng bất cứ điều gì bạn muốn bằng HTML trong hai lệnh này.

Ví dụ:

<?php
   echo "<p align='center'><font color='blue' size='25px'>Ví dụ lệnh echo trong PHP!</font></p>";
   //hoặc
   print "<p align='center'><font color='red' size='25px'>Ví dụ lệnh print trong PHP!</font></p>";
?>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả (mình thu nhỏ trình duyệt):

Lệnh print và lệnh echo trong PHP

Bạn lưu ý là giá trị các thuộc tính được đặt trong dấu nháy đơn ('), còn nếu để hiển thị dấu nháy kép (" ") thì bạn phải sử dụng thêm dấu gạch chéo (\) đằng trước. Tương tự với cách ngắt dòng (với <br>), tiêu đề và đầu đề với các thẻ h1, h2, h3 ...

Ngoài ra bạn cũng có thể sử dụng lệnh print <<<EOF. Lệnh này sẽ in bất kỳ ký tự nào sau EOF lên trình duyệt, cho dù đó có là ký tự gì đi chăng nữa.

<?php
   print <<<EOF
   "Học PHP cơ bản và nâng cao tại s2sontech!!!"
   EOF;
?>

Điểm khác nhau giữa lệnh print và lệnh echo

Trong PHP, về cơ bản thì hai lệnh này khá giống nhau, tuy nhiên đôi khi bạn cũng nên để ý đến hai điểm khác nhau sau:

  • Lệnh print là một hàm số, khi được thực thi nó sẽ trả về kết quả là 1, nếu không thì trả về kết quả 0. Do đó, bạn có thể gán kết quả của lệnh print này cho một biến, còn với lệnh echo thì không.

    <?php
       $son = print 'abcd'; 
       $tech = echo 'cdef'; //sai
    ?>

    Nếu chạy đoạn PHP trên sẽ cho một lỗi là Parse error: syntax error, unexpected 'echo' ...

  • Lệnh print chỉ có thể được sử dụng với một tham số, trong khi lệnh echo có thể được dùng với nhiều tham số.

    <?php
       echo 'v','i','e','t'; //dùng với 4 tham số
       echo ('j'),('a');     //dùng được cả dấu ngoặc cho từng tham số
     
       print 'c';         //đúng
       print 'k','t';     //sai
    ?>

Comment trong PHP

Một comment là 1 phần của chương trình chỉ có tác dụng cho người đọc code và nó sẽ bị lược bỏ trước khi hiển thị kết quả chương trình. Có 2 kiểu comment trong PHP:

Comment đơn dòng − Nói chung, chúng thường được sử dụng cho các giải thích ngắn gọn hoặc các chú ý liên quan đến nội bộ code. Dưới đây là ví dụ về comment đơn dòng:

<?php
   # Đây là ví dụ của một comment
   # Ví dụ comment thứ hai
   
   // Một ví dụ về comment đơn dòng khác
   print "Ví dụ minh họa comment đơn dòng";
?>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

Comment trong PHP

Comment đa dòng − Được sử dụng để giải thích chi tiết khi cần thiết. Dạng comment này khá giống trong C. Đây là ví dụ về comment đa dòng.

<?php
   /* Ví dụ một comment đa dòng:
      Web: s2sontech.com
      Mục đích: minh họa loại comment viết trên nhiều dòng
      Ngôn ngữ: PHP
   */
   
   print "Ví dụ minh họa comment đơn dòng";
?>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

Comment trong PHP

PHP là không phân biệt khoảng trắng

Khoảng trắng là những thứ bạn gõ mà không hiển thị trên màn hình ví dụ như : dấu cách, dấu tab, hay xuống dòng (kết thúc một dòng kí tự).

PHP không phân biệt khoảng trắng, nghĩa là, sẽ không có vấn đề gì về việc có bao nhiêu ký tự whitespace bạn có trong một hàng. Một ký tự whitespace là tương tự như nhiều ký tự whitespace.

Ví dụ, các lệnh PHP sau sẽ gán tổng của 2 + 2 cho biến $four là tương đương nhau:

<?php

$four = 2 + 2; // các khoảng trắng đơn
$four <tab>=<tab2<tab>+<tab>2 ; // khoảng trắng và tab
$four =
2+
2; // ví dụ một dòng code có thể được viết trên nhiều dòng

?>

PHP là phân biệt kiểu chữ

PHP là ngôn ngữ phân biệt kiểu chữ (case sensitive). Bạn xét ví dụ sau:

<html>
   <body>
      
      <?php
         $s2sontech = 98;
         print("Giá trị biến s2sontech là: $s2sontech<br>");
         print("Giá trị biến s2sontech là: $S2sontech<br>");
      ?>
      
   </body>
</html>

Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

Notice: Undefinedd variable: S2sontech

Lệnh trong PHP là các biểu thức được kết thúc bởi dấu chấm phảy (;)

Một lệnh trong PHP là bất kỳ biểu thức nào mà được theo sau bởi một dấu chẩm phảy (;). Bất kỳ dãy lệnh PHP hợp lệ nào mà được bao quanh bởi các thẻ PHP là một chương trình PHP hợp lệ. Dưới đây là một lệnh PHP đặc trưng sẽ gán một chuỗi ký tự cho một biến là $greeting:

<?php

$greeting = "Chào mừng bạn đến với PHP!";
?>

Biểu thức là sự kết hợp của các token trong PHP

Các khối nhỏ nhất trong PHP là các token (mà không thể phân chia được nữa), ví dụ: các số (3.14159), các chuỗi (.two.), các biến ($two), hằng số (TRUE), và các từ đặc biệt mà tạo nên chính cú pháp của PHP như if, else, while, for, …

Dấu ngoặc ôm tạo các khối PHP

Mặc dù các lệnh không thể được kết hợp giống như các biểu thức, nhưng bạn luôn luôn có thể đặt một dãy các lệnh được bao quanh bởi các dấu ngoặc ôm ở bất cứ đâu để tạo các khối PHP.

Các lệnh PHP sau là tương đương:

<?php

if (3 == 2 + 1)
   print("Học PHP hay nhất tại s2sontech.<br>");
   
if (3 == 2 + 1)
{
   print("Học PHP");
   print(" hay nhất tại s2sontech.<br>");
}

?>

Chạy PHP script từ dòng nhắc lệnh

Tất nhiên, bạn có thể chạy PHP script của bạn từ dòng nhắc lệnh (command prompt). Bạn xét nội dung sau có trong tệp test.php.

<?php
   echo "Hello World - Hello PHP!!!!!";
?>

Bây giờ, chạy script này như là một command prompt như sau:

$ php test.php

Nó sẽ cho kết quả:

Hello World - Hello PHP!!!!!

Đến đây, hy vọng bạn đã hiểu cơ bản về cú pháp PHP cơ bản.

Các bài học PHP phổ biến khác tại s2sontech:




Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Learning English Everyday