Hằng số ma thuật PHP

Trong bài hướng dẫn này, chúng ta sẽ học cách làm việc với các hằng số ma thuật trong PHP.

Hằng số ma thuật là gì ?

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

Ngoài ra, PHP cũng cung cấp một tập hợp những hằng số được xác định trước đặc biệt 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 mà nó được sử dụng trong tập lệnh của bạn.

Hằng số ma thuật bắt đầu bằng hai dấu gạch dưới ( __ ) và kết thúc bằng hai dấu gạch dưới. Phần sau đây mô tả một số hằng số PHP kỳ diệu hữu ích nhất.

__LINE__

Hằng số __LINE__ trả về số dòng hiện tại của tập tin:

Ví dụ

<?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
?>

__FILE__

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

Ví dụ

<?php
// Displays the absolute path of this file
echo "The full path of this file is: " . __FILE__;
?>

__DIR__

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

Ví dụ

<?php
// Displays the directory of this file
echo "The directory of this file is: " . __DIR__;
?>

__FUNCTION__

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

Ví dụ

<?php
function myFunction(){
    echo  "The function name is - " . __FUNCTION__;
}
myFunction(); // Displays: The function name is - myFunction
?>

__CLASS__

Hằng số __CLASS__ trả về tên hiện tại của lớp.

Ví dụ

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

__METHOD__

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

Ví dụ

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

__NAMESPACE__

Hằng số __NAMESPACE__ trả về tên namespace hiện hành.

Ví dụ

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

 

Bài viết mới cập nhật