Hằng số Magic (Magic Constants) trong PHP là các hằng số đặc biệt được PHP tự động định nghĩa trong mỗi phạm vi mã nguồn. Chúng bắt đầu bằng hai dấu gạch dưới (_ _
) và cũng kết thúc bằng hai dấu gạch dưới (_ _
). Các hằng số này cung cấp thông tin về vị trí và ngữ cảnh trong mã nguồn. Hãy cùng Vietnix tìm hiểu thêm về loại hằng số Magic Constants trong PHP này qua bài viết dưới đây.
Magic Constants là gì?
Magic Constants là dạng hằng số được định nghĩa trước trong PHP và giá trị của chúng được xác định dựa trên ngữ cảnh của đoạn mã đang thực thi (ví dụ như tên file, số dòng,…). Có 9 loại Magic Constants, tất cả đều được xử lý tại lúc biên dịch, không giống như hằng số thông thường xử lý tại lúc chạy code. Có 8 Magic Constants có tên bắt đầu và kết thúc bằng 2 dấu gạch dưới “__”.
Mọi người cũng xem:
Các loại Magic Constants
__line__
Hằng số này sẽ trả về số dòng của file bạn cần. Nếu bạn dùng hằng số này trong file bất kyw sẽ in ra số dòng nằm trong file.
Cú pháp:
.__line__
Ví dụ:
<?php
echo "The Line number is : ". __line__;
?>
Output như sau:
The Line number is : 3
__file__
Hằng số này sẽ trả về đường dẫn đầy đủ của file thực thi kèm theo tên file đó.
Cú pháp:
.__file__
Ví dụ:
<?php
echo "The file name is : ". __file__;
?>
Output như sau:
The file name is : /tmp/medaIXTB6F.php
__dir__
Hằng số này trả về vị trí thư mục của file thực thi
Cú pháp:
.__dir__
Ví dụ:
<?php
echo "The directory is : ". __dir__;
?>
Output như sau:
The directory is : /tmp
__function__
Hằng số này sẽ trả về tên của file thực thi có chứa hằng số __function__
.
Cú pháp:
.__function__
Ví dụ:
<?php
function Vietnix(){
echo "The function name is : ". __function__;
}
Vietnix();
?>
Output như sau:
The function name is : Vietnix
__class__
Hằng số này sẽ trả về tên lớp có chứa hằng số magic trên.
Cú pháp:
__class__
Ví dụ:
<?php
class Vietnix
{
public function getClassName(){
return __class__;
}
}
$obj = new Vietnix();
echo $obj->getClassName();
?>
Output như sau:
Vietnix
__method__
Hằng số này trả về tên của phương thức có chứa hằng số magic này.
Cú pháp:
__method__
Ví dụ:
<?php
class Company
{
public function Vietnix_Hosting(){
return __method__;
}
}
$obj = new Company();
echo $obj->Vietnix_Hosting();
?>
Output như sau:
Company::Vietnix_Hosting
__namespace__
Hằng số này sẽ trả về không gian tên hiện tại nơi bao gồm hằng số magic __namespace__
.
Cú pháp:
__namespace__
Ví dụ:
<?php
namespace Vietnix_Hosting;
class Company {
public function gfg() {
return __namespace__;
}
}
$obj = new Company();
echo $obj->gfg();
?>
Output như sau:
Vietnix_Hosting
__trait__
Hằng số này sẽ trả về tên đặc điểm có bao gồm hằng số __trait__
.
Cú pháp:
__trait__
Ví dụ:
<?php
trait Vietnix_Hosting{
function gfg(){
echo __trait__;
}
}
class Company{
use Vietnix_Hosting;
}
$a = new Company;
$a->gfg();
?>
Output như sau:
Vietnix_Hosting
Thêm: Classname::class
Hằng số này sẽ trả về tên lớp, tên namespace đầy đủ.
Cú pháp:
ClassName::class
Ví dụ:
<?php
namespace Computer_Sciecnec_Portal;
class Vietnix{ }
echo Vietnix::class;//Classname::class
?>
Output như sau:
Computer_Sciecnec_Portal\Vietnix
Lời kết
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về hằng số magic-Magic Constants trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về ngôn ngữlập trình PHP, chúc bạn thành công!