首頁  >  文章  >  後端開發  >  php魔術常數教程

php魔術常數教程

angryTom
angryTom原創
2019-07-16 10:04:022294瀏覽

PHP中的魔術常數是什麼?魔術(Magic)常數是PHP中預先定義的常數,這些常數可以根據它們的使用位置而變化。本篇文章就來帶大家認識PHP魔術常數,介紹一下魔術常量的基本用法及做用。

PHP 向它運行的任何腳本提供了大量的預定義常數。不過很多常數都是由不同的擴充函式庫定義的,只有在載入了這些擴充函式庫時才會出現,或是動態載入後,或是在編譯時已經包含進去了。有幾個魔術常數它們的值隨著它們在程式碼中的位置改變而改變。

__LINE__

#檔案中的目前行號。

<?php
header("Content-type:text/html;charset=utf-8");
echo &#39;这是第 " &#39;  . __LINE__ . &#39; " 行&#39;;
?>

運行效果如圖所示

php魔術常數教程

#__FILE__


php魔術常數教程

#檔案的完整路徑和檔案名稱

。如果用在被包含檔案中,則傳回被包含的檔案名稱。

自PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑(如果是符號連接,則是解析後的絕對路徑),而在此之前的版本有時會包含一個相對路徑。

<?php
header("Content-type:text/html;charset=utf-8");
echo &#39;该文件位于 " &#39;  . __FILE__ . &#39; " &#39;;
?>
運行效果如圖所示


#__DIR__

php魔術常數教程

__DIR__

##檔案所在的目錄


。如果用在被包含檔案中,則傳回被包含的檔案所在的目錄。

php魔術常數教程

它等價於 dirname(__FILE__)。除非是根目錄,否則目錄中名不包括末尾的斜杠。 (PHP 5.3.0中新增)###
<?php
header("Content-type:text/html;charset=utf-8");
echo &#39;该文件位于 " &#39;  . __DIR__ . &#39; " &#39;;
?>
###運行效果如圖所示########################__FUNCTION__### ############傳回函數名稱(PHP 4.3.0 新加)。 #########自 PHP 5 起本常數傳回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。 ###
<?php
header("Content-type:text/html;charset=utf-8");
function test() {
echo  &#39;函数名为:&#39; . __FUNCTION__ ;
}
test();
?>
###運行效果如圖所示################

__CLASS__

返回类的名称(PHP 4.3.0 新加)。

自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 __CLASS__ 对 trait 也起作用。当用在 trait 方法中时,__CLASS__ 是调用 trait 方法的类的名字。

<?php
header("Content-type:text/html;charset=utf-8");
class test {
function _print() {
echo &#39;类名为:&#39;  . __CLASS__ . "<br>";     //输出类名
echo  &#39;函数名为:&#39; . __FUNCTION__ ;        //输出方法名
}
}
$t = new test();    //创建对象,调用方法
$t->_print();
?>

运行效果如图所示

php魔術常數教程

__METHOD__

类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。

<?php
header("Content-type:text/html;charset=utf-8");
class test {
function _print() {
echo &#39;类名为:&#39;  . __CLASS__ . "<br>";
echo  &#39;__FUNCTION__:&#39; . __FUNCTION__. "<br>" ;
echo  &#39;__METHOD__:&#39; .__METHOD__ ;
}
}
$t = new test();
$t->_print();
?>

运行效果如图所示

php魔術常數教程

__NAMESPACE__

当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

<?php
namespace MyProject;
header("Content-type:text/html;charset=utf-8");
echo &#39;命名空间为:"&#39;, __NAMESPACE__, &#39;"&#39;; // 输出 "MyProject"
?>

运行效果如图所示

php魔術常數教程

如果你想了解更多关于PHP的知识可以到网站的php教程中去学习其他更有趣的知识。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn