PHP 魔法常數

WBOY
發布: 2024-08-29 13:01:35
原創
881 人瀏覽過

在 PHP 魔法常數中,共有八個常數,它們根據使用位置而改變其依賴關係。所有這些神奇的常數都是在編譯時解析的,與我們通常在運行時解析的常規常數不同。這些神奇的常數不區分大小寫。這些常數是預先定義常數,以雙底線 (__) 開頭,也以雙底線結尾。這些常數是PHP中最實用、最有用的常數。它們是簡單的變量,但具有預先定義的含義。這些常數用於列印使用者定義的輸入並處理輸出以顯示在螢幕上。

廣告 該類別中的熱門課程 魔法子彈造型 - 專業化 | 2門課程系列

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

PHP 中的魔法常數類型

PHP 中總共有以下八個魔法常數:

  • __LINE__: 此常數用於列印輸出螢幕上使用的程式碼的行號。它代表當前行號。
  • __FILE__: 此常數用於在輸出螢幕上列印檔案的完整檔案路徑和檔案名稱。
  • __DIR__: 此常數用於在輸出螢幕上列印特定檔案的完整目錄路徑。它還有另一種等效方法來列印檔案的目錄路徑:dirname (__FILE__)。
  • __FUNCTION__:此常數將在輸出畫面上列印目前正在使用的函數名稱。如果在函數內部使用,則會列印函數名,如果在函數外部使用,則會傳回空白。
  • __CLASS__:此常數用於列印輸出畫面上使用的類別名稱。如果在類別內部使用,則會列印類別名,如果在函數外部使用,則會傳回空白。
  • __TRAIT__: 此常數在使用特徵名稱的地方使用。如果在函數內部使用,則會列印名稱,如果在函數外部使用,則會傳回空白。此特徵用於在輸出螢幕上列印名稱空間。
  • __METHOD__:此常數用於列印在輸出畫面上使用的類別中定義的方法的名稱。它會傳回程式碼中聲明的方法的名稱。如果在方法或類別內部使用,則傳回方法的名稱,如果在函數外部使用,則傳回空白。
  • __NAMESPACE__:此常數用於在輸出畫面上列印目前命名空間的名稱。

魔法常數在 PHP 中如何運作?

以下是 PHP 中魔法常量如何運作的例子:

在 PHP 中,我們可以在非常簡單的程式碼中使用魔術常數,也可以在日常使用的太難的程式碼中使用魔術常數。讓我們舉個例子來看看它是如何運作的:

範例#1

代碼:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h1>Example for __LINE__ constant</h1>";
echo "The line number is " . __LINE__ . "<br><br>";// prints the current line number i.e;7
?>
</body>
</html>
登入後複製

輸出:

PHP 魔法常數

範例#2

代碼:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h2>Example for __FILE__ constant</h2>";
echo __FILE__ . "<br><br>";//prints the full path of the file with extension
?>
</body>
</html>
登入後複製

輸出:

PHP 魔法常數

範例 #3

代碼:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h3>Example for __DIR__ constant</h3>";
echo __DIR__ . "<br><br>";//prints the full path of the directory where the script is placed.
?>
</body>
</html>
登入後複製

輸出:

PHP 魔法常數

範例#4

代碼:

<!DOCTYPE html>
<html>
<body>
<?php
function amount()
{
echo 'the function name is '. __FUNCTION__ . "<br><br>";//the function name is amount.
}
amount();
?>
</body>
</html>
登入後複製

輸出:

PHP 魔法常數

範例#5

代碼:

<!DOCTYPE html>
<html>
<body>
<?php
//Using magic constant inside function.
function amount()
{
echo 'the function name is '. __FUNCTION__ . "<br><br>";//the function name is amount.
}
amount();
echo 'the function name is '. __FUNCTION__ ."<br><br>";
?>
</body>
</html>
登入後複製

輸出:

PHP 魔法常數

範例 #6

代碼:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h2>Example for __CLASS__</h2>";
class xyz
{
public function __construct() {
;
}
function xyz_method()
{
echo __CLASS__ . "<br>";//prints the name of the class xyz mentioned above.
}
}
$a = new xyz;
$a->xyz_method();
?>
</body>
</html>
登入後複製

輸出:

PHP 魔法常數

範例#7

代碼:

<!DOCTYPE html>
<html>
<body>
<?php
class abc
{
function test_abc()
{
echo __CLASS__;//will always print parent class which is abc mentioned above.
}
}
class xyz extends abc
{
public function __vowels()
{
;
}
}
$b = new xyz;
$b->test_abc();
?>
</body>
</html>
登入後複製

輸出:

PHP 魔法常數

範例#8

代碼:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h4>Example for __TRAIT__</h4>";
trait create_trait
{
function trait()
{
echo __TRAIT__;//will print name of the trait create_trait mentioned above.
}
}
class new_class
{
use create_trait;
}
$c = new new_class;
$c-> trait ();
?>
</body>
</html>
登入後複製

輸出:

PHP 魔法常數

範例 #9

代碼:

<!DOCTYPE html>
<html>
<body>
<?php
echo "<h2>Example for __METHOD__</h2>";
class method
{
public function __parameter() {
echo __METHOD__ . "<br><br>";//print method::__parameter
}
public function method_fun(){
echo __METHOD__;//print meth::method_fun
}
}
$z = new method;
$z->method_fun();
?>
</body>
</html>
登入後複製

輸出:

PHP 魔法常數

各函數的輸出如上所述。行常數將列印儲存在本機中的檔案 leela.php 的目前行。文件常數將列印文件名和路徑,如輸出所示。 dir 常數或 dirname 將列印目前目錄路徑或提到的目錄路徑:method 和 class 常數列印程式碼中提到的方法名稱和類別名稱。如果在方法和類別之外提到常數,那麼它不會在螢幕上列印任何內容,因為它超出了範圍,同樣,上面提到了另一個常數的輸出。

結論

在這篇文章中,我們學習了 PHP 的所有魔法常數及其用法。它可以用於小型程式到大型程式。開發者可以使用這些常數來回溯任何可能發生錯誤的位置。這些常數將幫助開發人員或使用者檢查程式碼以了解它們目前所在的位置。

以上是PHP 魔法常數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板