Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Hằng số (Constants) trong PHP

Giới thiệu

Hằng số được biểu diễn dưới dạng literal trong biểu thức gán như $x = 10 hoặc $name = "XYZ" nơi 10 và XYZ là hằng số numeric và string gán cho biến. Trong PHP, có thể định nghĩa hằng số với identifier do người dùng định nghĩa nhờ hàm define().

Cú pháp

define(string $name, mixed $value, bool $case_insensitive = FALSE): bool

Tham số

STT Tham số & Mô tả
1 name - tên hằng số
2 value - giá trị hằng số: bất kỳ scalar (int, float, string) hoặc array
3 case_insensitive - hằng số mặc định phân biệt chữ hoa/thường. Nếu true, name và NAME được coi giống nhau

Giá trị trả về

Trả về TRUE nếu định nghĩa thành công, ngược lại FALSE.

Ví dụ

Định nghĩa hằng số với define()

<?php
define("MAX_MARKS", 300);
define("PI", 3.142);
define("SUBJECTS", ["phy", "che", "maths"]);
?>

Magic Constants (Hằng số ma thuật)

PHP có nhiều hằng số định nghĩa sẵn nhưng hầu hết yêu cầu extension tương ứng. Tuy nhiên, các hằng số sau - gọi là magic constants - luôn khả dụng:

Tên Mô tả
__LINE__ Số dòng hiện tại của file
__FILE__ Đường dẫn đầy đủ và tên file
__DIR__ Thư mục của file
__FUNCTION__ Tên function, hoặc {closure} cho anonymous function
__CLASS__ Tên class. Bao gồm namespace (ví dụ: Foo\Bar). Từ PHP 5.4 __CLASS__ cũng hoạt động trong trait. Khi dùng trong trait method, __CLASS__ là tên class sử dụng trait.
__TRAIT__ Tên trait. Bao gồm namespace.
__METHOD__ Tên method của class
__NAMESPACE__ Tên namespace hiện tại

Ví dụ magic constants

<?php
echo "Line no: " . __LINE__ . "\n";
echo "file name: " . __FILE__ . "\n";
echo "directory: " . __DIR__ . "\n";

function myfunction() {
    echo "function name: " . __FUNCTION__ . "\n";
}

class MyClass {
    public function __construct() {
        echo __CLASS__ . "\n";
    }
    public function mymethod() {
        echo __METHOD__;
    }
}

$obj = new MyClass();
$obj->mymethod();
?>

Kết quả

Line no: 2
file name: C:\xampp\php\testscript.php
directory: C:\xampp\php
myclass
myclass::mymethod