Menu

PHP là gì? Ý nghĩa, ứng dụng và cách PHP hoạt động

PHP là ngôn ngữ kịch bản phía máy chủ (server-side): tệp PHP chạy trên máy chủ web và gửi HTML mà nó tạo ra về trình duyệt. PHP đứng sau WordPress, Laravel và một phần lớn các trang web, đồng thời cũng chạy được script từ dòng lệnh.

Trang này có trình soạn thảo chạy trực tiếp. Sửa, chạy và xem đầu ra ngay lập tức.

PHP là một ngôn ngữ kịch bản phía máy chủ dùng để xây dựng trang web. Một tệp .php chạy trên máy chủ web, in ra HTML (ví dụ với echo "<h1>Hello</h1>";), rồi máy chủ gửi HTML đó đến trình duyệt của người truy cập. Trình duyệt không bao giờ thấy code PHP, chỉ thấy kết quả của nó.

Nhấn Chạy: PHP sẽ tạo trang bên dưới, và tab Trang hiển thị nó đúng như trình duyệt hiển thị.

Chuyển sang tab Đầu ra, bạn sẽ thấy HTML thuần mà PHP đã in ra. Đoạn văn bản đó chính xác là thứ trình duyệt nhận được. Thử đổi một mức giá hoặc thêm một món rồi chạy lại.

PHP dùng để làm gì

PHP được tạo ra cho web, và phần lớn code PHP ngày nay vẫn chạy ở đó:

  • Trang web và CMS. WordPress, Drupal và Joomla được viết bằng PHP, và mọi trang web xây trên chúng cũng vậy.
  • Ứng dụng web. Các framework như Laravel và Symfony được dùng cho cửa hàng trực tuyến, dashboard, sản phẩm SaaS và công cụ nội bộ.
  • API. Một script PHP có thể in JSON thay vì HTML, đây là cách nhiều ứng dụng di động và frontend JavaScript lấy dữ liệu.
  • Script dòng lệnh. Cron job, nhập dữ liệu, tạo báo cáo và công cụ triển khai chạy bằng php script.php, không cần máy chủ web.

Một request PHP trở thành HTML như thế nào

Khi ai đó mở https://example.com/menu.php, các bước sau diễn ra:

  1. Trình duyệt gửi một HTTP request đến máy chủ.
  2. Máy chủ web (Apache, Nginx với PHP-FPM, hoặc máy chủ có sẵn của PHP) thấy phần mở rộng .php và chuyển tệp cho PHP.
  3. PHP chạy tệp từ trên xuống dưới. Văn bản nằm ngoài thẻ <?php ... ?> được chép nguyên vào đầu ra; code bên trong thẻ được chạy và có thể echo thêm văn bản.
  4. Mọi thứ PHP in ra trở thành phần thân của response, và trình duyệt hiển thị nó.
  5. PHP quên hết mọi thứ. Request tiếp theo bắt đầu một lần chạy script hoàn toàn mới.

Bước 5 là lý do các ứng dụng PHP dùng session và cơ sở dữ liệu: không giá trị nào trong biến tồn tại được giữa hai request. Biểu mẫu bên dưới cho thấy chu trình này. Chạy code, nhập tên vào biểu mẫu rồi nhấn Send: cùng script đó chạy lại, lần này $_POST đã có dữ liệu.

htmlspecialchars biến các ký tự như < thành &lt;, nên một cái tên như <b>Ada</b> hiện ra dưới dạng văn bản thay vì trở thành mã đánh dấu. Mọi giá trị đến từ người truy cập đều nên được in theo cách này; chi tiết có trên trang htmlspecialchars.

PHP trộn lẫn với HTML

Một tệp PHP có thể chỉ toàn code, hoặc là một trang HTML có những "hòn đảo" PHP bên trong. Ba thẻ sau làm gần như mọi việc:

ThẻTác dụng
<?php ... ?>Chạy code bên trong
<?= $value ?>Cách viết tắt của <?php echo $value; ?>
?> ở cuối tệpKhông bắt buộc; bỏ đi trong các tệp chỉ chứa PHP

Đặt $hour thành 9 rồi chạy lại để thấy lời chào còn lại.

Code PHP trông như thế nào

Biến (variable) bắt đầu bằng $, câu lệnh kết thúc bằng ;, và chuỗi trong dấu ngoặc kép có thể chứa biến. Mảng vừa dùng được như danh sách, vừa dùng được như bảng khóa/giá trị.

Ở đây đầu ra là văn bản thuần, vì script không in thẻ HTML nào. Đó cũng chính là code bạn sẽ chạy từ terminal.

PHP hiện đại (PHP 8)

PHP 8.0 (2020) thêm biểu thức match, đối số có tên, union type, str_contains() và trình biên dịch JIT; PHP 8.1 thêm enum và thuộc tính readonly. Code viết cho PHP 8.3 trông như thế này:

Ý nghĩa của tên PHP

PHP là viết tắt của "PHP: Hypertext Preprocessor". Cái tên này mang tính đệ quy: chữ P đầu tiên chính là PHP. Rasmus Lerdorf phát hành phiên bản đầu tiên năm 1995 với tên "Personal Home Page Tools", một bộ script cho trang chủ cá nhân của ông, và tên hiện tại xuất hiện cùng PHP 3 năm 1998. "Hypertext preprocessor" (bộ tiền xử lý siêu văn bản) mô tả đúng công việc của nó: PHP xử lý một tệp trước khi siêu văn bản (HTML) được gửi đi.

Lỗi thường gặp đầu tiên: mở tệp .php bằng trình duyệt

Nhấp đúp vào index.php sẽ mở nó như một tệp cục bộ, và trình duyệt hoặc hiện nguyên code PHP, hoặc đề nghị tải tệp về. Không có gì được chạy, vì ở đầu bên kia không có PHP. Một tệp .php phải được phục vụ bởi máy chủ web chuyển nó cho PHP. Trên máy của bạn, cách nhanh nhất là dùng máy chủ có sẵn của PHP:

php -S localhost:8000

Sau đó mở http://localhost:8000/index.php. Trang chạy PHP hướng dẫn việc này và cả cách chạy script từ terminal, còn trang cài đặt PHP giúp bạn cài PHP lên máy trước.

Câu hỏi thường gặp

PHP là viết tắt của từ gì?

PHP là viết tắt của "PHP: Hypertext Preprocessor", một từ viết tắt đệ quy. Tên gốc năm 1995 là "Personal Home Page Tools", lấy từ các script mà Rasmus Lerdorf viết cho trang web cá nhân của ông.

PHP là ngôn ngữ frontend hay backend?

Backend. PHP chạy trên máy chủ, còn trình duyệt chỉ nhận HTML (hoặc JSON) mà script đã in ra. Trình duyệt không bao giờ thấy bản thân code PHP.

PHP chủ yếu dùng để làm gì?

Xây dựng trang web và ứng dụng web phía máy chủ: trang nội dung, cửa hàng trực tuyến, trang quản trị và API. WordPress, Drupal, Magento, Laravel và Symfony đều được viết bằng PHP. PHP cũng chạy các script dòng lệnh như cron job và nhập dữ liệu.

Năm 2026 PHP còn được dùng không?

Có. Theo W3Techs, PHP có mặt trên khoảng ba phần tư số trang web mà họ nhận diện được ngôn ngữ phía máy chủ, phần lớn là nhờ WordPress. Ngôn ngữ này vẫn được phát triển tích cực: PHP 8.0 thêm match, đối số có tên và trình biên dịch JIT, còn PHP 8.1 thêm enum và thuộc tính readonly.

PHP có dễ học không?

Đây là một trong những ngôn ngữ đầu tiên dễ học hơn cả cho lập trình web: một tệp chỉ có <?php echo "Hello"; đã là một trang chạy được, và mọi gói hosting dùng chung đều chạy PHP. Phần khó hơn là tập thói quen an toàn từ sớm, như escape đầu ra bằng htmlspecialchars và dùng prepared statement cho SQL.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu