Sự khác nhau giữa PHP và HTML Unknown Sunday, November 30, 2014 13 Comments

Để học PHP, đầu tiên chúng ta cần học làm thế nào phân biệt PHP và HTML. Học lập trình PHP một cách chính xác nhất, học PHP để thiết kế một trang web động.
Những thứ mà tôi nói tới đây có chút lằng nhằng một chút, nhiều người học PHP thường không cần biết cái này! Ồ không bạn tin tôi đi, nên bạn nên biết được cách làm việc của nó (và nó chỉ lấy của bạn khoảng 10 phút thôi), không những bạn sẽ tiết kiệm được nhiều thời gian sau này mà có lẽ sẽ hiểu được bạn sẽ làm gì nữa kìa! Vậy sao đây? cũng đáng để đọc chứ nhỉ?

Không biết tôi đang định nói cái gì ý nhỉ? Nhớ rồi, định giải thích rằng: bất kì người nào truy cập vào trang web của mình, sau khi họ điền địa chỉ, enter, rồi trang web được tải về hiển thị trên màn hình! Chuẩn, nhưng trong khoảng thời gian sau khi bạn enter lúc đấy trang web hiển thị lên, liệu có những gì đã xảy ra  trong đó ?!

Chắc chắn là không rồi, nếu là có vậy mình chả nói làm gì! Cái này rất cần thiết, vì cách làm việc của HTML và PHP chắc chắn khác nhau! Để tôi nói cho các bạn từ từ nhé:

Đầu tiên, chính bạn bắt buộc phải biết  khái niệm: sự liên hệ client-server! Còn cái gì nữa đây? À à, không có gì kì lạ ở bên trong này đâu !

Client (khách) nghĩa là bạn đấy mà! Bạn là người đang âm thầm khẽ khàng ngồi trước máy tính xin được xem trang web ! Bất kì ai, những người vào web đều được gọi chung là client hết !
Tôi diễn tả máy client của bạn là cái này nhé :


Server (chủ) : chính xác chỉ có một server mà thôi ! Đó là một loại máy khổng lồ kết nối internet suốt 24/24 (với một tốc độ mạng internet siêu khủng khiếp), nó được đặt chỗ nào đó trên thế giới, làm việc không ngừng nghỉ 24/24 , không ai chạm vào, không ai chơi gì trên nó cả ! Chỉ có đúng nhiệm vụ duy nhất là truyền tải các trang web cho client xem thôi!

Cách thức của nó là nó lưu trữ trang web của chúng ta trên ổ cứng của nó, mỗi khi có ai hỏi ý xin xem, nó sẽ gửi cho người đó xem! Phải chi ai hỏi tiền mà nó cũng cho thế này thì quá tuyệt vời!

Để biểu diễn server, tôi dùng cái máy dưới đây nhé (chú ý rằng gã server này không có màn hình, vì chẳng dùng để làm gì cả, có ai thèm coi mặt nó đâu, nó vốn một mình, cô đơn, làm việc âm thầm lặng lẽ…)


Bạn thấy sao, cũng không rối rắm lắm nhỉ! Với những ai chưa hiểu, tôi xin ví dụ như sau:

Tưởng tượng một cái nhà hàng nhé (KFC đi), bạn vô đó ăn, thì bạn là CLIENT ! Bạn gọi 2 phần gà chiên và khoai tây cộng một chai pepsi, người phục vụ (tức server) liền chạy đi lấy đưa cho bạn! Rồi nếu có khách (client) khác tới, lại gọi 2 phần gà chiên khoai tây và pepsi như bạn, người phục vụ cũng chạy đi lấy liền! Nó cứ làm như vậy hoài, liên tục, không ngừng nghỉ!

Internet tương tự cũng thế, người phục vụ giờ đây là cái máy chủ to tướng khổng lồ không màn hình mà tôi nói hồi nãy, nó cũng làm việc liên tục không ngừng mỗi khi có ai đó xin được xem trang web nào đó, nó liền gửi cho người ta xem! Nó làm như thể sợ người ta cho nó về hưu sớm vậy! Không dám nghỉ !

Rồi, giờ các bạn đã biết client-server rồi nhé! Tiếp theo mình sẽ giải thích PHP và HTML làm việc khác nhau thế nào !

Trước hết, về HTML :

Nhắc lại rằng một trang HTML có phần mở rộng là .html, ví dụ như htvsite.html

Tôi không đi vào chi tiết, chỉ giải thích hoạt động của nó bằng sơ đồ sau :

Có hai bước :

Client (tức bạn, khách viếng thăm) muốn xem một trang web. Bạn xin server « anh server ơi, làm ơn gửi cho em xem trang htvsite.html với »

Server trả lời bằng cách quăng trang web vô màn hình của bạn « nè ! Đây là cái trang web mà bạn vừa muốn xem đó »

Bây giờ tới PHP:

Nó chèn thêm một bước nữa giữa hai bước nói trên, trang PHP được phát sinh bởi server trước. Các bước hoạt động như sau :

Client xin xỏ « anh server ơi, làm ơn gửi cho em xem trang htvsite.php đi »

Ở đây, một bước rất quan trọng, server không gửi trang web tới client ngay lập tức, mà nó phát sinh ra trang web trước! Như vậy client không thể nào đọc được trang php có gì trong đó (chỉ có server đọc được thôi), client chỉ đọc được những trang HTML thôi ! Việc của server rất đơn giản: nó biến đổi trang php thành trang html để client có thể đọc được !

Cuối cùng, sau khi đã tạo xong trang HTML, giờ này nó chỉ có mã HTML bên trong thôi, rồi gửi tới client « nè ! Đây là trang web mà bạn muốn xem đó ! » khi gửi đến client.

Vấn đề quan trọng của bạn bây giờ là hiểu cho rõ bước thứ 2 trên đây !

"Phát sinh từ trang PHP" ý muốn nói gì đây ?

Lấy lại ví dụ từ đầu chương, tôi sẽ cho bạn xem :

<?php echo("You are the visitor n°" . $nb_visitors); ?>

Máy tính của bạn không hiểu dòng này, chỉ có server hiểu và biến đổi nó thành HTML.

Vậy mã PHP dùng để làm gì ?

Mã PHP bao gồm những câu lệnh! Tương tự như những dòng lệnh mà mình viết trong lập trình vậy (chẳng hạn như lập trình C, C++, Java, Python,...). Nó yêu cầu server cho biết giờ, số người khách vào thăm,… Nói tóm lại: PHP ra lệnh cho server! Điều mà HTML không làm được.

Bạn nên nhớ rằng  PHP cũng có chứa mã HTML nữa, nhưng mà server không đụng đến, nó chỉ khoái ở đâu có PHP thôi! Rồi nhận lệnh mà PHP sai bảo, rồi đưa ra thành HTML !

Một điều đặc biệt ở đây là: trang web phát sinh chỉ được gửi đến một client duy nhất! Tức là khi một ai đó muốn xem nữa, server sẽ lại bắt đầu phát sinh một trang khác!

Chú ý rằng việc phát sinh này cũng chiếm một khoảng thời gian (vài phần nghìn giây, tùy dung lượng của trang), và điều đó nghĩa là server PHP phải mạnh hơn nhiều lần so với một server HTML thông thường ! Nếu như trang web của bạn nhiều người biết đến, cùng lúc có thể có 30 người truy cập vào, cho nên server càng phải mạnh !
by Jillur Rahman

Jillur Rahman is a Web designers. He enjoys to make blogger templates. He always try to make modern and 3D looking Templates. You can by his templates from Themeforest.

Follow him @ Twitter | Facebook | Google Plus

13 comments :

  1. Bài viết rất miên man và ko tập trung đúng vào vấn đề chính. Các bạn nên đọc bài này để hiểu chi tiết khi so sánh 1 vấn đề
    http://www.differencebetween.net/technology/difference-between-php-and-html/

    ReplyDelete
  2. bạn nói xàm quá từ đầu tới cuối chỉ có 1 ý mà bài cũng khá dài

    ReplyDelete
  3. bạn nói xàm quá từ đầu tới cuối chỉ có 1 ý mà bài cũng khá dài

    ReplyDelete
  4. khi viết về kiến thức thì nên viết ở dạng văn bản, ko nên chèn kiểu ngôn ngữ giao tiếp (kiểu teen này vào),

    ReplyDelete
  5. Mình thấy hay mà, chỉ có các bạn không đọc kĩ thôi , hãy tưởng tượng là được mà :)

    ReplyDelete
  6. :like: mình thấy kiểu ngôn ngữ mà bạn sử dụng rất thân thuộc và dễ hiểu. Ngôn ngữ không máy móc, không đậm chất lý thuyết và không sách vở.

    ReplyDelete
  7. Có phải trang index.php mới gọi được các file *.php phải ko bạn, còn index.html ko gọi được phải ko? Ví dụ, mình muốn phối hợp nội dung nhỏ từ các file php riêng lẻ sau đó cho vào cấu trúc html. Như vậy có ổn ko bạn? Mình định chuyển các trang html sang php thì việc upfile lên host cũng bình thường hả bạn? Mong bạn tư vấn. Cảm ơn nhiều!

    ReplyDelete
  8. bài viết dễ hiểu cho những người mới học web

    ReplyDelete

Pages

Powered by Blogger.

Người đóng góp cho blog