Trang chủ » Kiến thức - Chia sẻ » PHP cơ bản » Hằng số trong PHP

Hằng số trong PHP

Một hằng (constant) là một tên hoặc một định danh cho một giá trị đơn. Giá trị của hằng không thể thay đổi trong quá trình thực thi script. Theo mặc định, một hằng là phân biệt kiểu chữ. Theo qui ước, các định danh hằng luôn luôn là chữ hoa. Tên hằng bắt đầu với một chữ cái hoặc dấu gạch dưới ( _ ), được theo sau bởi bất kì số lượng chữ cái, số hoặc dấu gạch dưới nào. Nếu bạn đã định nghĩa một hằng số, nó có thể không bao giờ được thay đổi hoặc định nghĩa lại.

Để định nghĩa một hằng số trong PHP, bạn phải sử dụng hàm define() và để lấy giá trị của một hằng, bạn phải chỉ ra tên của nó. Không giống như biến, bạn không cần thêm $ vào hằng. Bạn cũng có thể sử dụng hàm constant() để đọc một giá trị của hằng nếu bạn muốn lấy tên của hằng một cách linh hoạt.

Hàm constant() trong PHP

Như tên hàm đã đề cập, hàm này sẽ trả về giá trị của hằng số.

Điều này là rất hữu ích khi bạn muốn lấy giá trị của một hằng, nhưng bạn không biết tên của nó, ví du: nó được lưu giữ trong một biến hoặc được trả về bởi một hàm.

Ví dụ hàm constant() trong PHP

<?php
   define("VIETJACK", 98);
   
   echo VIETJACK;
   echo constant("VIETJACK"); // Kết quả được in như lệnh echo bên trên
?>

Chỉ có dữ liệu vô hướng (Boolean, integer, float và string) có thể được giữ trong các hằng số.

Khác nhau giữa hằng số và biến trong PHP là:

  • Để định nghĩa biến cần viết kí tự $ vào trước, ngược lại hằng thì không cần.
  • Hằng không thể được định nghĩa bằng phép gán đơn giản, chúng chỉ có thể được định nghĩa bằng cách sử dụng hàm define().
  • Hằng có thể được định nghĩa và truy cập bất cứ đâu mà không quan tâm đến quy tắc phạm vi biến.
  • Một hằng khi đã được định nghĩa, nó không thể định nghĩa lại hoặc hủy định nghĩa.

Tên hằng hợp lệ và không hợp lệ trong PHP

// Ví dụ các tên hằng hợp lệ
define("ONE",     "Ví dụ tên hằng hợp lệ 1");
define("TWO2",    "Ví dụ tên hằng hợp lệ 2");
define("THREE_3", "Ví dụ tên hằng hợp lệ 3")

// Ví dụ các tên hằng không hợp lệ
define("2TWO",    "Ví dụ tên hằng không hợp lệ 1");
define("__THREE__", "Ví dụ tên hằng không hợp lệ 2"); 

Hằng số Magic trong PHP

PHP cung cấp một số lượng lớn các hằng số được định nghĩa trước để bất kỳ script nào cũng có thể sử dụng nó.

Quảng cáo

Có 5 hằng số magic, thay đổi tùy thuộc vào nơi chúng được sử dụng. Ví dụ, giá trị của __LINE__ phụ thuộc vào dòng mà nó được sử dụng trong script của bạn. Các hằng đặc biệt này là phân biệt kiểu chữ.

Bảng dưới liệt kê một số hằng magic trong PHP:

TênMiêu tả
__LINE__Dòng hiện tại của file
__FILE__Đường dẫn đầy đủ và tên đầy đủ của file. Nếu sử dụng bên trong một include thì tên của file được include sẽ được trả về. Từ PHP 4.0.2, __FILE__ luôn luôn chưa một đường dẫn tuyệt đối, trong khi ở phiên bản cũ hơn chúng chứa đường dẫn tương đối trong một số trường hợp
__FUNCTION__Tên của hàm. (Được thêm trong PHP 4.3.0) Như PHP 5, hằng số này trả về tên của hàm như nó đã khai báo trước đó (phân biệt kiểu chữ). Trong PHP 4, giá trị của nó luôn là chữ in thường
__CLASS__Tên của lớp. (Được thêm trong PHP 4.3.0) Như PHP 5, hằng số này trả về tên của lớp như nó đã khai báo trước đó (phân biệt kiểu chữ). Trong PHP 4 giá trị của nó luôn là chữ in thường
__METHOD__Tên phương thức lớp. (Được thêm trong PHP 5.0.0) Tên phương thức này được trả về như đã khai báo trước đó (phân biệt kiểu chữ).

Bình luận
Bài viết liên quan

    Đăng ký để nhận ngay ưu đãi tốt nhất

    Banner register