Chương 3: Bước đầu với PHP 

Chương 3: Bước đầu với PHP

    Cái tựa chắc cũng quá rõ rồi nhỉ? Mình sẽ làm quen bước đầu với PHP nào!
Bạn sắp khám phá những cấu trúc đầu tiên của PHP và niềm khoái trá (xin lỗi, cái này nhiễm thầy Lân dạy toán ở Bách Khoa) của bạn khi thấy mấy dòng scripts làm treo máy! Hô hô hô !!!
Yên tâm, tôi sẽ không làm cho cuộc đời thêm rắc rối đâu! Tất cả chỉ là những bước cơ bản về lập trình PHP thôi!
Bạn sẵn sàng chưa? Lên đường!!!


Những tags trong PHP (tiếng Pháp gọi là balises)


Từ giờ trỡ đi chúng ta sẽ làm việc thường xuyên với mã nguồn của một trang web, vì vậy bắt buộc bạn phải có kiến thức tối thiểu về (x)HTML!
Để sửa mã nguồn của một trang web bạn cần một Text Editor, bạn có nhiều giải pháp:
    - Dùng Notepad của windows (Start--> All Programs--> Accessories--> Notepad) Thường thì phần mềm này cũng đủ để bạn soạn PHP rồi, nhưng …
    - Tốt hơn hết là dùng Notepad++, nó có chức năng tô màu cho text để mình dễ phân biệt các đoạn mã, nó cũng có đánh số dòng nữa, cái này tiện lắm!
Notepad++ là một phần mềm miễn phí, dễ sử dụng, nhẹ, tải tại đây: NOTEPAD++
Nếu bạn dùng hệ điều hành Mac, bạn có thể dùng Smultron http://smultron.sourceforge.net/, nếu là Linux thì bạn đã có sẵn Vim hay Emacs rồi!
Cho dù bạn xài hệ điều hành nào đi nữa, các thao tác trên PHP đều như nhau cả thôi, không có gì thay đổi cả!
Chúng ta hãy bắt đầu bằng việc tạo một trang web bằng HTML, như tôi đã nói PHP không thể sống thiếu HTML! Đoạn mã dưới đây chỉ chứa HTML thôi, bạn hãy copy nó vào Text Editor mà bạn dùng (Notepad hoặc notepad++) :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  xml:lang ="fr" lang="fr" >
    <head>
        <title>Welcome to my site!</title>
        <meta  http-equiv=" Content-Type" content="text/html; charset=iso-8859-1" />
        <style type="text/css">
        .bleu
        {
           color:blue;
        }
        .rouge
        {
           color:red;
        }
        .vert
        {
           color:green;
        }
        </style>
    </head>
    <body>
    <h2>
    Trang thu nghiem
    </h2>

    <p>
        Trang này chỉ chứa <strong>một mình</strong> code (X)HTML.    <br />
        Đây là vài test đơn giản :
    </p>

        <ul>
            <li class="blue">Text màu xanh</li>
            <li class="red">Text màu đỏ</li>
            <li class="green">Text màu xanh lá cây</li>
        </ul>
    </body>
    </html>
Tôi sẽ chỉ cho các bạn các thủ tục cần làm tùy theo bạn dùng Notepad hay Notepad++:
Notepad
Nếu bạn đã copy paste vào notepad, nó phải trông giống thế này:

notepad


Để save lại dưới dạng một trang html, bạn vào File--> Save as, một hộp thoại mở ra, gõ tên trang web vào, nhớ có “.html” nữa nhé! Ví dụ “test.html”. Trông như thế này này:

save as


Notepad++
Đầu tiên bạn vào menu chọn Langage (Language), chọn PHP

notepadpp


Bạn sẽ thấy code của bạn sẽ bị đổi màu, trông giống thế này:

notepadpp doi mau


Để save lại dưới dạng HTML, bạn làm như trên, ở đây chỉ cần gõ “test” là đủ, nhưng ở thanh Type, bạn chọn “HTML file”:

save trong notepad++


Hãy vào thư mục mà bạn đã save trang web để mở thử xem cái trang HTML mà bạn vừa save đó sẽ hiện ra như thế nào nhé! (Với những trang PHP bạn phải mở trong trang chủ của WAMP như tôi đã nhắc ở trên, nhưng với HTML thì mở trong windows được rồi).
OK, cho tới đây thì chắc bạn cũng không lấy gì làm ngạc nhiên, mấy cái này chắc bạn đã làm như cơm bữa rồi phải không?
Như bạn đã biết trang HTML trên được tạo thành bởi những tags, ví dụ <ul> là một tags! Không phải ngẫu nhiên mà tôi nhắc vụ này, vì để viết PHP chúng ta phải đặt vào một tag mới, hơi đặc biệt một chút. Nó bắt đầu bởi <?php và kết thúc bởi ?> . Và chúng ta sẽ đặt code PHP vào bên trong cái tag này!
<?php // đặt code php ở đây
?>
Một điều quan trọng : một tag php có thể chứa nhiều hàng, chúng ta có thể nới rộng cái tag ra nhiều hàng không vấn đề gì cả, ví dụ :
<?php // đặt code php ở đây
// code hàng 2
// code hàng 3
// code hàng 4 ...

?>
Tất cả những gì cần nhớ để viết code php là đặt vào cái tag <?php?>
Lưu ý : Ngoài ra còn có những cách viết khác để chèn vào một tag php, ví dụ < ? ?>, <% %>, … cho nên đừng ngạc nhiên khi bạn nhìn thấy nó ở đâu đó ! Tuy nhiên <?php?> là cách viết chính xác nhất, cái mà tôi sẽ dùng trong suốt bài viết này !^^
Mình hãy đặt code PHP vào một chỗ dễ coi nhất trong trang HTML (để dễ phân biệt ý mà), ví dụ như vầy :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  xml:lang ="fr" lang="fr" >
    <head>
        <title>Trang thu tag PHP</title>
        <meta  http-equiv=" Content-Type" content="text/html; charset=iso-8859-1" />
        <style type="text/css">
        .bleu
        {
           color:blue;
        }
        .rouge
        {
           color:red;
        }
        .vert
        {
           color:green;
        }
        </style>
    </head>
    <body>
    <h2>
    Trang thu nghiem
    </h2>

    <p>
        Trang này chứa code (X)HTML với các tag PHP <br>
    <?php // đặt code php ở đây
    ?>
        Đây là vài test đơn giản :
    </p>

        <ul>
        <li class="blue">Text màu xanh</li>
        <li class="red">Text màu đỏ</li>
        <li class="green">Text màu xanh lá cây</li>
        </ul>
    <?php // lại là code PHP
    //rồi code php nữa nè

    ?>
    </body>
    </html>

Chú ý rằng trang này không có gì để chạy cả, vì mình chưa đặt gì vào giữa hai tag PHP cả mà !

Hiển thị text


OK, nhìn như vậy cũng đẹp rồi nhỉ ? Nhưng mình còn phải đặt code PHP vào nữa chứ, cái này mới là món chính mà ! Cái hàm mà tôi sử dụng sau đây cho phép hiển thị text ! Giống như hàm printf trong C hay print trong Python vậy đó. Tôi sẽ viết code trước rồi sẽ giải thích chi tiết sau nhé !
Mở notepad hoặc notepad++ ra, copy cái này vào :
Code : PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  xml:lang ="fr" lang="fr" >
    <head>
        <title>Welcome to my site!</title>
        <meta  http-equiv=" Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
        <h2>Hien thi text bang PHP</h2>
        <p>
Hàng này được viết hoàn toàn bằng (x)HTML.<br>
        <?php echo "Còn hàng này được viết hoàn toàn bằng PHP."; ?>
        <p>
    </body>
</html>

Save trang này với phần mở rộng là .php, ví dụ hienthitext.php trong thư mục tests mà tôi đã đề nghị các bạn tạo lúc cài WAMP ý !
Để chạy thử trang php này, bạn hãy chạy WAMP (nếu bạn chưa chạy nó), rồi vào Localhots, trang chủ của WAMP mở ra, nếu bạn đã tạo thư mục tests, bạn phải thấy nó hiện ra trong phần Vos projets (Your projects) !
Nhấp vào thư mục tests, một trang web mới xuất hiện cho thấy tất cả các trang php bạn đã tạo. Bạn phải thấy trang hienthitext.php trong đó, nhấp vô nó đi ! Coi cái gì hiện ra trước mắt bạn vậy ? PHP in ra một hàng, đơn giản !
Không phải viết trong HTML sẽ đơn giản đỡ rắc rối hơn sao ?
Đúng vậy, nhưng bạn sẽ sớm thấy được điều thú vị của nó ! Tạm thời bạn hãy nhớ : echo cho ra text !
Rồi, bây giờ xin cho tớ biết cơ chế hoạt động của nó đi!
Lấy lại cái dòng mà mình muốn tìm hiểu:
<?php echo "Còn hàng này được viết hoàn toàn bằng PHP."; ?>
Như bạn đã thấy, code PHP được đặt giữa tag <?php ?>, cái mà mình quan tâm bây giờ là code nằm trong đó: echo "Còn hàng này được viết hoàn toàn bằng PHP."; Echo là một cấu trúc lệnh, nó ra lệnh cho máy: hãy hiển thị text ra cho ta!
Text mà mình muốn hiển thị phải được đặt toàn bộ trong dấu ngoặc kép, kết thúc lệnh bằng dấu chấm phẩy! Dấu này giúp cho máy hiểu được “à, nó ra lệnh xong rồi đấy! Thi hành thôi”
Lưu ý: đừng bao giờ quên dấu chấm phẩy ở cuối lệnh, nếu không bạn sẽ thấy báo lỗi: Parse Error! Nếu code PHP của bạn có nhiều hàng, tất cả sẽ bị treo hết!
Mình cũng có quyền bắt nó hiển thị tag nữa! Ví dụ:
<?php echo "Còn hàng này được viết <strong>hoàn toàn</strong> bằng PHP.";?>
Chữ hoàn toàn sẽ được in đậm nhờ tag <strong> </strong>
Làm sao hiển thị dấu ngoặc kép bây giờ?
Ừ nhỉ, nếu mình đặt dấu ngoặc kép vào, máy sẽ hiểu là text cần hiển thị chỉ có bấy nhiêu thôi, nó sẽ dừng lại ngay chỗ bạn đặt dấu ngoặc kép thứ 2! Phần còn lại sẽ bị treo lủng lẳng!
Giải pháp là như vầy: thêm dấu chéo ngược (\) vào trước dấu ngoặc kép cần hiển thị
<?php echo "Còn hàng này được viết \"hoàn toàn\"bằng PHP.";?>
Tôi đã nói gần như hết về chức năng của hàm echo, bây giờ tới lượt bạn! Thử cho hiển thị bất cứ câu gì bạn thích! Thử đặt thêm vài hàng php nữa xem (mỗi câu một hàng thôi nhé!) và đừng quên <br> để xuống dòng!
Ví dụ, bạn có thể viết: <?php echo "Còn hàng này được viết \"hoàn toàn\"bằng PHP. <br>";?>
Lưu ý rằng bạn có quyền đặt các tag HTML bên trong cấu trúc lệnh echo.

Các ghi chú, chú thích, commentaires


    Trước khi kết thúc chương này, tôi muốn nói một điều mà tôi cho là rất quan trọng trong lập trình, cho dù với bất kì ngôn ngữ nào khác : những ghi chú (commentaires) !
Một ghi chú là một text mà bạn viết cho bạn, máy sẽ không đụng đến những ghi chú này, chỉ có bạn đọc mấy cái ghi chú này thôi !
Mà ghi chú dùng để làm gì vậy ?
Để cho bạn biết bạn đã viết gì, ý tưởng của bạn lúc đó là gì. Giả sử bạn ngưng công việc viết web khoảng một tuần, sau đó bạn lại tiếp tục thì bạn có nguy cơ không hiểu mình đã viết những gì, lúc đó mình nghĩ gì,…
Để bắt đầu ghi chú, bạn dùng hai dấu chéo (slash) //
Hoặc đặt ghi chú của bạn giữa hai dấu /* và */
Sau hai dấu slash, bạn bắt đầu viết vô tư ghi chú của bạn ! Ví dụ :
Code : PHP
<?php
echo "Tôi sống ở Trung Quốc.<br>"; // hàng này để biết tôi sống ở đâu
//hàng sau đây cho biết tôi mấy tuổi
echo "Tôi vừa tròn 192 tuổi.<br>"; ?>
Nhưng với hai dấu slash, mình bị hạn chế ở chỗ chỉ ghi chú được một dòng mà thôi, với dấu /* và */ mình có thể ghi chú được nhiều dòng, ví dụ:
Code : PHP
<?php
/* bắt đầu comment
để hiển thị tiếng việt trong PHP
bạn hãy encode UTF-8
Nghĩa là khi save exemple.php (.html) bạn nhớ chọn encoding là UTF-8 nếu dùng notepad
Còn nếu bạn dùng notepad++ thì bạn hãy vào Menu Setting, chọn Preference, chọn tab New Document, đánh dấu UTF-8 ở phần Encoding
Đồng thời trong text code, bạn nhìn dòng < meta http-equiv="content....; bạn để charset=utf-8
*/
echo "hướng dẫn gõ tiếng việt cho trang web!";
?>


Copyright© NGUYỄN Thanh Trà