Hằng số Ma thuật trong PHP

Trong bài hướng dẫn tự học Lập trình này, bạn sẽ học cách làm việc với các Hằng số Ma thuật trong PHP (Magic Constant).

Hằng số Ma thuật trong PHP

Trong bài hướng dẫn tự học Lập trình này, bạn sẽ học cách làm việc với các Hằng số Ma thuật trong PHP (Magic Constant).

Hằng số Ma thuật trong PHP
Hằng số Ma thuật trong PHP

Hằng số Ma thuật trong PHP là gì?

Trong bài Hằng số trong PHP, chúng ta đã học cách định nghĩa và sử dụng các hằng số trong tập lệnh PHP.

=> Đây là Hằng số tự định nghĩa

Và, ngoài hằng số chúng ta tự định nghĩa.

PHP cũng cung cấp một tập hợp các hằng số được định nghĩa trước, chúng có thể thay đổi tùy thuộc vào nơi chúng được sử dụng.

Những hằng số này được gọi là Hằng số Ma thuật. Ví dụ, giá trị của __LINE__ phụ thuộc vào dòng đó nó được sử dụng trên trong kịch bản của bạn.

1. Hằng số __LINE__ trong PHP

Hằng số __LINE__ liên tục trả về chỉ số dòng hiện tại trong tập lệnh, nó hoạt động như thế này:

<?php
echo "Line number " . __LINE__ . "<br>"; // Displays: Line number 2
echo "Line number " . __LINE__ . "<br>"; // Displays: Line number 3
echo "Line number " . __LINE__ . "<br>"; // Displays: Line number 4
?>

2. Hằng số __FILE__ trong PHP

Hằng số __FILE__ trả về đường dẫn và tên đầy đủ của tệp PHP đang được thực thi. Nếu được sử dụng bên trong include, tên của tệp được include sẽ được trả về.

Hằng số __FILE__ được sử dụng như thế này:

<?php
// Hiển thị đường dẫn tuyệt đối của tệp này
echo "Đường dẫn đầy đủ của tệp này là: " . __FILE__;
?>

>> Xem ngay: Hướng dẫn Include trong PHP

3. Hằng số __DIR__ trong PHP

Hằng số __DIR__ trả về thư mục của tệp. Nếu được sử dụng bên trong include, thư mục của tệp được include sẽ được trả về. Đây là một ví dụ:

<?php
// Hiển thị thư mục của tập tin này
echo "Thư mục của tập tin này là: " . __DIR__;
?>

4. Hằng số __FUNCTION__ trong PHP

Hằng số __FUNCTION__ trả về tên của hàm hiện tại.

<?php
function myFunction(){
    echo  "Hàm tên là - " . __FUNCTION__;
}
myFunction(); // Displays: Hàm tên là - myFunction
?>

5. Hằng số __CLASS__ trong PHP

Hằng số __CLASS__ trả về tên của lớp hiện tại. Đây là một ví dụ:

<?php
class MyClass
{
    public function getClassName(){
        return __CLASS__;
    }
}
$obj = new MyClass();
echo $obj->getClassName(); // Displays: MyClass
?>

6. Hằng số __METHOD__ trong PHP

Hằng số __METHOD__ trả về tên của phương thức lớp hiện tại.

<?php
class Sample
{
    public function myMethod(){
        echo __METHOD__;
    }
}
$obj = new Sample();
$obj->myMethod(); // Displays: Sample::myMethod
?>

7. Hằng số __NAMESPACE__ trong PHP

Hằng số __NAMESPACE__ trả về tên của namespace hiện tại.

<?php
namespace MyNamespace;
class MyClass
{
    public function getNamespace(){
        return __NAMESPACE__;
    }
}
$obj = new MyClass();
echo $obj->getNamespace(); // Displays: MyNamespace
?>

BONUS 1: Phiên bản PHP 5.4.0 thêm hằng số ma thuật __TRAIT__

BONUS 2: Phiên bản PHP 5.5.0 thêm hằng số ma thuật ::class

Bạn có thể tham khảo thêm Magic Constant tại PHP.NET

Lời kết

Như vậy là bạn đã biết về Hằng số ma thuật trong PHP là gì, cũng như cách sử dụng Hằng số ma thuật này.

Hãy xem kỹ các ví dụ để ghi nhớ cách sử dụng chúng nhé.

Chúc bạn Học Lập trình PHP hiệu quả!

PHPDev

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *