中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用PHP常用的八個魔術常量

發布時間:2021-11-03 15:34:24 來源:億速云 閱讀:130 作者:iii 欄目:編程語言

這篇文章主要介紹“怎么使用PHP常用的八個魔術常量”,在日常操作中,相信很多人在怎么使用PHP常用的八個魔術常量問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么使用PHP常用的八個魔術常量”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

怎么使用PHP常用的八個魔術常量

魔術常量是什么

魔術常量準確來說并不能算是常量,常量我們在之前的文章中我們介紹到,常量被定義之后是不能被改變的。但是魔術常量是PHP預定義的一些常量,這些預定義的常量能夠因為所在位置的變化而變化。

很多的預定義常量在任意一個腳本中都是PHP提供的,常量不同他們的拓展庫也是不同的。魔術常量可以理解為特殊的預定義常量。

其中魔術常量的書寫格式通常是用兩個下劃線(__)開頭兩個下劃線結尾,比如:__LINE____FILE__等等。講到書寫格式的話,需要知道,魔術常量不區分大小寫,但是盡量書寫的時候還是采用大寫的形式。

魔術常量的使用

PHP的運行環境中提供了八個魔術常量,就像上文中說的,雖然被叫做常量,但準確來說不算是常量,他們的值隨著代碼中的變化而改變,接下來我們分別來看一下這八個魔術變量。

1.__LINE__ 表示文件中當前的行號

接下來我們通過示例來看一下__LINE__ 魔術常量的使用,并且看一下隨著位置的變化魔術常量的值有什么變化。

示例如下:

<?php
echo '這是第 " ' . __LINE__ . ' " 行<br/>';
echo '這是第 " ' . __LINE__ . ' " 行<br/>';
echo '---------------<br/>';
echo '這是第 " ' . __LINE__ . ' " 行';
?>

輸出結果:

怎么使用PHP常用的八個魔術常量

在上述示例中,我們通過魔術變量__LINE__就能夠獲取當前代碼所在位置的行數。

其中需要注意的是:我們能夠發現,當代碼所在的位置不同,其所輸出的結果也是不同的。所以我們上文中說了魔術常量并不能算是常量,它的值隨著代碼的變化而改變。我們接著往下看:

2.__FILE__ 表示文件的絕對路徑

通過__FILE__能夠獲取文件的絕對路徑,并且這個路徑包含了文件名。其中需要注意的是,如果該魔術常量用在了包含文件中,那么返回的結果是被包含的文件名。

下面我們通過示例來看一下__FILE__的使用,示例如下:

<?php
echo '該文件位于 " ' . __FILE__ . ' " ';
?>

輸出結果:

怎么使用PHP常用的八個魔術常量

在上述示例中我們便是通過__FILE__完成了對文件絕對路徑的獲取。

3.__DIR__  用于表示文件所在目錄

通過__DIR__能夠獲取文件所在的目錄,這個文件所在的目錄與__FILE__獲取文件的絕對路徑還是不一樣的,文件所在的目錄是不帶有當前文件的文件名的。也可以把該魔術常量理解為 dirname(__FILE__)

下面我們通過示例來看一下__DIR__魔術常量的使用,示例如下:

<?php
echo '該文件位于 " ' . __DIR__ . ' " ';
echo  dirname(__FILE__);
?>

輸出結果:

怎么使用PHP常用的八個魔術常量

上述示例中我們通過兩種方法,都獲取到了當前文件所在的目錄,一個是通過__DIR__魔術常量,另一個是dirname(__FILE__),它們倆能夠達到的效果是相同的。

4.__FUNCTION__  用于獲取當前函數名或方法名

通過__FUNCTION__能夠獲取當前函數的名稱或者方法的名稱,接下來我們通過示例來看一下__FUNCTION__魔術常量的用法。

示例如下:

<?php
function test() {
 echo '通過__FUNCTION__獲取的函數名為:' . __FUNCTION__ ;
}
test();
?>

輸出結果:

怎么使用PHP常用的八個魔術常量

通過上述示例我們了解__FUNCTION__能夠獲取當前函數的函數名。

5.__CLASS__ 用于獲取當前的類名

通過__CLASS__可以用于獲取當前的類名,齊總也包括了當前類的作用區域或命名空間。接下來我們通過示例來看一下__CLASS__的使用。

示例如下:

<?php
class test {
 function _print() {
  echo '通過__CLASS__獲取的類名為:' . __CLASS__ . "<br>";
  echo '通過__FUNCTION__獲取的函數名為:' . __FUNCTION__ ;
 }
}
$t = new test();
$t->_print();
?>

輸出結果:

怎么使用PHP常用的八個魔術常量

通過上述示例已經了解在PHP中可以通過__CLASS__來獲取當前的類名。

6.__TRAIT__  當前的trait名稱

通過__TEAIT__能夠表示當前的trait名稱,這其中包括了trait的作用區域或者命名空間。接下來我們通過示例來看一下__TRAIT__的使用。

示例如下:

<?php
class Base {
 public function sayHello() {
  echo 'Hello ';
 }
}
trait SayWorld {
 public function sayHello() {
  parent::sayHello();
  echo 'World!';
 }
}
class MyHelloWorld extends Base {
 use SayWorld;
}
$o = new MyHelloWorld();
$o->sayHello();
?>

輸出結果:

怎么使用PHP常用的八個魔術常量

7.__METHOD__ 當前的方法名

通過__METHOD__能夠獲取當前的方法名,其中也包括類名,接下來我們通過示例來看一下__METHOD__的使用方法,示例如下:

<?php
function testMethod()
{
    echo '當前的函數名為:' . __METHOD__ . PHP_EOL . '<br/>';
}
class TestMethodClass
{
    function testMethod1()
    {
        echo '當前的方法名和類名為:' . __METHOD__ . PHP_EOL; 
    }
}
testMethod();
$test = new TestMethodClass();
$test->testMethod1();
?>

輸出結果:

怎么使用PHP常用的八個魔術常量

上述示例中,我們通過__METHOD__獲取了函數名和方法名。其中方法名中包括了類名。

8.__NAMESPACE__  當前文件的命名空間名稱

通過__NAMESPACE__可以獲取當前文件的命名空間名稱,接下來我們通過示例來看一下,示例如下:

<?php
namespace MyProject;
echo '命名空間為:"', __NAMESPACE__, '"'; 
?>

輸出結果:

怎么使用PHP常用的八個魔術常量

到此,關于“怎么使用PHP常用的八個魔術常量”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

堆龙德庆县| 长海县| 绍兴县| 墨玉县| 平昌县| 清远市| 正阳县| 石嘴山市| 永仁县| 龙南县| 静宁县| 九江市| 新闻| 商城县| 若尔盖县| 右玉县| 上虞市| 宝山区| 洪江市| 三门峡市| 德阳市| 浪卡子县| 隆德县| 胶南市| 犍为县| 屯昌县| 昌平区| 金川县| 双峰县| 四平市| 宁南县| 枞阳县| 伊宁市| 新余市| 成安县| 望谟县| 朝阳县| 长武县| 上杭县| 澄迈县| 印江|