PHP
PHP

Trang chủ

Hằng số Magic – Magic Constants trong PHP

PHP, viết tắt của Hypertext Preprocessor, là ngôn ngữ lập trình script phía máy chủ được thiết kế đặc biệt cho phát triển web. Điểm nổi bật của PHP so với các ngôn ngữ khác là khả năng tương thích với nhiều loại cơ sở dữ liệu và chạy mượt mà trên các máy chủ web. Tại Vietnix, chúng tôi không chỉ giới thiệu những khái niệm cơ bản về PHP mà còn cung cấp các ví dụ thực tế giúp bạn dễ dàng hiểu và áp dụng PHP vào việc phát triển website. Bên cạnh đó, Vietnix cũng thường xuyên cập nhật các bài viết mới về tính năng, mẹo và thủ thuật lập trình, giúp bạn giải quyết các thách thức phức tạp, từ đó không ngừng nâng cao và hoàn thiện kỹ năng lập trình của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
18/06/2024
5 phút đọc
Theo dõi Vietnix trên

Hằng số Magic – Magic Constants trong PHP

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 “__”.

Magic Constants trong PHP
Tổng quan về Magic Constants trong PHP

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

Screenshot 2023 10 06 174004
1 đoạn ví dụ của hằng số ::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!

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn