PHP Constants – Tổng quan về Hằng Số trong PHP

PHP Constants là những tên hoặc nhận dạng không thể thay đổi trong quá trình thực thi của mã lệnh trừ những hằng số phép màu (magic constants), những hằng số này không thực sự là hằng số. PHP Constants có thể được định nghĩa theo hai cách: Sử dụng hàm define () và Sử dụng từ khóa const.

Lập Trình Viên mời bạn cùng tham khảo chi tiết nội dung bên dưới. Bài viết này nằm trong chuyên đề hướng dẫn PHP từ cơ bản đến nâng cao tại dự án Phát Triển Website.

Hằng số giống như biến, ngoại trừ khi chúng được xác định, chúng không bao giờ được xác định lại hoặc thay đổi. Chúng được giữ nguyên không đổi trên toàn bộ chương trình. Các hằng số PHP tuân theo các quy tắc biến PHP. Ví dụ, chúng chỉ có thể bắt đầu bằng một chữ cái hoặc gạch dưới. Theo quy ước, hằng số PHP nên được định nghĩa bằng chữ in hoa.

Lưu ý: Không giống biến, hằng số tự động trở thành toàn cục trong toàn bộ kịch bản.

Hướng dẫn về PHP Constants

Các hằng số trong PHP là các giá trị không thể thay đổi trong quá trình thực thi chương trình. Các hằng số PHP có thể được định nghĩa theo 2 cách:

  • Sử dụng hàm define()
  • Sử dụng từ khóa const

Sử dụng hàm define ()

Sử dụng hàm define () để tạo ra một hằng số. Nó xác định hằng số trong quá trình chạy. Hãy xem cú pháp của hàm define () trong PHP.

define (tên, giá trị, phân biệt chữ hoa thường)
  • tên: Chỉ định tên hằng số.
  • giá trị: Chỉ định giá trị hằng số.
  • phân biệt chữ hoa thường: Chỉ định xem một hằng số có phân biệt chữ hoa thường hay không. Giá trị mặc định là false. Điều này có nghĩa là nó là phân biệt chữ hoa thường theo mặc định.

Hãy xem ví dụ để định nghĩa hằng số PHP bằng cách sử dụng define ().

File: constant1.php
<?php
define("MESSAGE", "Hello Lap Trinh Vien PHP");
echo MESSAGE;
?>

Output:

Hello Lap Trinh Vien PHP

Tạo một hằng số với tên không phân biệt chữ hoa thường:

File: constant2.php
<?php
define("message", "Hello Lap Trinh Vien PHP", true);
echo message;
echo "<br>";
echo Message;
?>

Output:

Hello Lap Trinh Vien PHP
Hello Lap Trinh Vien PHP

Chú ý: Sử dụng hàm undefined constant khi hằng số chưa được định nghĩa.

File: constant3.php
<?php
echo MESSAGE;
?>

Output:

Notice: Use of undefined constant message - assumed 'message' in C:\wamp\www\constant3.php on line 4

Sử dụng từ khóa const

PHP giới thiệu một từ khóa const để tạo ra một hằng số. Từ khóa const xác định các hằng số vào thời điểm biên dịch. Đây là một cấu trúc ngôn ngữ, không phải là một chức năng. Các hằng số được xác định bằng cách sử dụng từ khóa const là phân biệt chữ hoa thường.

File: constant4.php
<?php
const MESSAGE = "Hello const by Lap Trinh Vien PHP";
echo MESSAGE;
?>

Output: ` Hello const by JavaTpoint PHP

Thêm ví dụ sử dụng PHP Constants

Các hằng số trong PHP là các giá trị không thể thay đổi trong quá trình thực thi chương trình. Các hằng số PHP có thể được định nghĩa theo 2 cách:

  • Sử dụng hàm define()
  • Sử dụng từ khóa const

Sử dụng hàm define()

Cú pháp của hàm define() như sau:

define(name, value);

Trong đó:

  • name là tên của hằng số.
  • value là giá trị của hằng số.

Ví dụ:

define("PI", 3.14159);

echo PI; // 3.14159

Sử dụng từ khóa const

Cú pháp của từ khóa const như sau:

const name = value;

Trong đó:

  • name là tên của hằng số.
  • value là giá trị của hằng số.

Ví dụ:

const PI = 3.14159;

echo PI; // 3.14159

Dưới đây là một số ví dụ về cách sử dụng hằng số trong PHP:

  • Lưu trữ các giá trị thường xuyên được sử dụng, chẳng hạn như hằng số PI hoặc hằng số hằng số thời gian.
  • Lưu trữ các giá trị không thể thay đổi, chẳng hạn như tên của tập tin cấu hình hoặc tên của cơ sở dữ liệu.
  • Lưu trữ các giá trị được sử dụng trong nhiều hàm khác nhau, chẳng hạn như giá trị của hằng số giới hạn tốc độ.

Hằng số là một công cụ quan trọng trong PHP. Chúng cho phép bạn lưu trữ các giá trị và sử dụng các giá trị đó một cách an toàn và hiệu quả.

Dưới đây là một số ví dụ cụ thể về cách sử dụng hằng số trong PHP:

  • Lưu trữ các giá trị thường xuyên được sử dụng:
define("PI", 3.14159);
define("MAX_SPEED", 100);

echo PI; // 3.14159
echo MAX_SPEED; // 100
  • Lưu trữ các giá trị không thể thay đổi:
define("DB_HOST", "localhost");
define("DB_USERNAME", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "my_database");

// Bạn không thể thay đổi các giá trị của các hằng số này
DB_HOST = "127.0.0.1"; // Lỗi
DB_USERNAME = "admin"; // Lỗi
DB_PASSWORD = "secret"; // Lỗi
DB_DATABASE = "my_new_database"; // Lỗi
  • Lưu trữ các giá trị được sử dụng trong nhiều hàm khác nhau:
const ERROR_MESSAGE = "Something went wrong";

function foo() {
  throw new Exception(ERROR_MESSAGE);
}

function bar() {
  throw new Exception(ERROR_MESSAGE);
}

foo(); // Lỗi: Something went wrong
bar(); // Lỗi: Something went wrong

Như bạn có thể thấy, hằng số là một công cụ rất linh hoạt có thể được sử dụng cho nhiều mục đích khác nhau trong PHP. Chúng cho phép bạn lưu trữ các giá trị và sử dụng các giá trị đó một cách an toàn và hiệu quả.

Ưu và Nhược điểm của PHP Constants

Ưu điểm

  • Hằng số được định nghĩa một lần và không thể thay đổi giá trị. Điều này giúp cho mã lệnh trở nên rõ ràng hơn và dễ bảo trì hơn.
  • Hằng số có thể sử dụng trong bất kỳ phạm vi nào của chương trình mà không cần khai báo lại.
  • Hằng số không bị xóa khi chương trình chạy và có thể được sử dụng bất cứ lúc nào.

Nhược điểm

  • Hằng số không thể động bộ hoá, điều này có nghĩa là các giá trị không thể được tạo ra theo cách động.
  • Hằng số toàn cục có thể gây mâu thuẫn với các biến toàn cục có tên giống nhau.
  • Nếu đặt tên hằng số không tốt, điều này có thể gây ra khó khăn trong việc đọc và hiểu mã lệnh.

Lời khuyên về PHP Constants

  • Sử dụng hằng số để giữ các giá trị không thay đổi trong mã lệnh.
  • Đặt tên hằng số sao cho dễ đọc và hiểu.
  • Nếu có nhiều tập tin liên quan đến nhau trong chương trình, hãy đặt các hằng số trong một tệp riêng biệt để dễ quản lý.
  • Không sử dụng hằng số quá nhiều. Những giá trị thực tế hoặc động của biến là cần thiết trong các trường hợp khác.

Kết luận

PHP Constants là những tên hoặc nhận dạng không thể thay đổi trong quá trình thực thi của mã lệnh và giúp cho chương trình trở nên rõ ràng hơn và dễ bảo trì hơn. Bài viết này đã cung cấp cho bạn một cái nhìn tổng quan về PHP Constants là gì, cách định nghĩa hằng số bằng hai cách khác nhau là sử dụng hàm define () và từ khóa const, ưu và nhược điểm của hằng số, lời khuyên và câu hỏi thường gặp liên quan đến PHP Constants. Hy vọng bài viết này sẽ giúp bạn hiểu rõ hơn về PHP Constants và cách sử dụng chúng trong mã lệnh của mình. 

1. Hằng số có phân biệt chữ hoa và chữ thường?

Điều này phụ thuộc vào cách bạn định nghĩa hằng số. Nếu bạn sử dụng hàm define () để định nghĩa hằng số, điều này phụ thuộc vào thông số được chuyển đến hàm. Nếu bạn sử dụng từ khóa const để định nghĩa hằng số, điều này phụ thuộc vào cách bạn viết mã lệnh.

2. Hằng số có thể được xác định lại trong mã lệnh?

Không, hằng số không thể xác định lại trong mã lệnh.

3. Tôi có thể sử dụng biến để định nghĩa hằng số không?

Không, bạn không thể sử dụng biến để định nghĩa hằng số.

4. Hằng số có thể được sử dụng trong các hàm không?

Có, hằng số có thể được sử dụng trong các hàm.

5. Tôi có thể định nghĩa một hằng số trong một lớp không?

Có, bạn có thể định nghĩa một hằng số trong một lớp bằng cách sử dụng từ khóa const hoặc phương thức define ().