佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > PHP學(xué)習(xí)記錄之常用的魔術(shù)常量詳解

PHP學(xué)習(xí)記錄之常用的魔術(shù)常量詳解

熱門標(biāo)簽:科大訊飛語音識別系統(tǒng) Mysql連接數(shù)設(shè)置 電子圍欄 Linux服務(wù)器 銀行業(yè)務(wù) 阿里云 服務(wù)器配置 團(tuán)購網(wǎng)站

本文實(shí)例講述了PHP學(xué)習(xí)記錄之常用的魔術(shù)常量。分享給大家供大家參考,具體如下:

PHP 向它運(yùn)行的任何腳本提供了大量的預(yù)定義常量,不過很多常量都是由不同的擴(kuò)展庫定義的,只有在加載了這些擴(kuò)展庫時才會出現(xiàn),或者動態(tài)加載后,或者在編譯時已經(jīng)包括進(jìn)去了。有八個魔術(shù)常量它們的值隨著它們在代碼中的位置改變而改變,我們接下來具體看下。

首先是__LINE__,它表示文件中的當(dāng)前行號,實(shí)例如下:

?php
echo '這是第 " ' . __LINE__ . ' " 行';
?>

第二個就是__FILE__,它表示文件的完整路徑和文件名,如果用在被包含文件中,則返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑(如果是符號連接,則是解析后的絕對路徑),而在此之前的版本有時會包含一個相對路徑。來看下實(shí)例:

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

第三個就是__DIR__了,它表示文件所在的目錄,如果用在被包括文件中,則返回被包括的文件所在的目錄。它還等價于 dirname(__FILE__),除非是根目錄,否則目錄中名不包括末尾的斜杠。實(shí)例如下:

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

再來就是__FUNCTION__了,它表示當(dāng)前所在的函數(shù)名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數(shù)被定義時的名字(區(qū)分大小寫),所以在 PHP 4 中該值總是小寫字母的。實(shí)例如下:

?php
function test() {
  echo '函數(shù)名為:' . __FUNCTION__ ;
}
test();
?>

第五個就是__CLASS__了,它表示當(dāng)前所在的類的名稱(PHP 4.3.0 新加),自 PHP 5 起本常量返回該類被定義時的名字(區(qū)分大小寫)。在 PHP 4 中該值總是小寫字母的,類名包括其被聲明的作用區(qū)域(例如 Foo\Bar)。注意自 PHP 5.4 起 __CLASS__ 對 trait 也起作用。當(dāng)用在 trait 方法中時,__CLASS__ 是調(diào)用 trait 方法的類的名字。實(shí)例如下:

?php
class test {
  function _print() {
    echo '類名為:' . __CLASS__ . "br>";
    echo '函數(shù)名為:' . __FUNCTION__ ;
  }
}
$t = new test();
$t->_print();
?>

第六個就是__TRAIT__了,它表示當(dāng)前所使用的Trait 的名字(PHP 5.4.0 新加),自 PHP 5.4.0 起,PHP 實(shí)現(xiàn)了代碼復(fù)用的一個方法,稱為 traits。Trait 名包括其被聲明的作用區(qū)域(例如 Foo\Bar),從基類繼承的成員被插入的 SayWorld Trait 中的 MyHelloWorld 方法所覆蓋。其行為 MyHelloWorld 類中定義的方法一致。優(yōu)先順序是當(dāng)前類中的方法會覆蓋 trait 方法,而 trait 方法又覆蓋了基類中的方法。來看下實(shí)例:

?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();
?>

在遇到需要使用多個 trait的情況時,我們可以通過逗號分隔,在 use 聲明列出多個 trait,可以都插入到一個類中。實(shí)例如下:

?php
trait Hello {
  public function sayHello() {
    echo 'Hello ';
  }
}
trait World {
  public function sayWorld() {
    echo 'World';
  }
}
class MyHelloWorld {
  use Hello, World;
  public function sayExclamationMark() {
    echo '!';
  }
}
$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
$o->sayExclamationMark();
?>

再來就是__METHOD__了,它表示當(dāng)前所使用的類的方法名(PHP 5.0.0 新加),返回該方法被定義時的名字(區(qū)分大小寫)。實(shí)例如下:

?php
function test() {
  echo '函數(shù)名為:' . __METHOD__ ;
}
test();
?>

最后需要記錄的就是__NAMESPACE__,它表示當(dāng)前命名空間的名稱(區(qū)分大小寫),這個常量是在編譯時定義的(PHP 5.3.0 新增)。實(shí)例如下:

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

好啦,本次記錄就到這里了。

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • 詳解PHP中的8個魔術(shù)常量
  • PHP 預(yù)定義變量、魔術(shù)常量和魔術(shù)方法功能與用法小結(jié)
  • PHP中類型轉(zhuǎn)換 ,常量,系統(tǒng)常量,魔術(shù)常量的詳解
  • PHP 中魔術(shù)常量的實(shí)例詳解
  • php 魔術(shù)常量詳解及實(shí)例代碼
  • PHP的魔術(shù)常量__METHOD__簡介
  • 基于PHP5魔術(shù)常量與魔術(shù)方法的詳解
  • PHP中幾個常用的魔術(shù)常量
  • 淺談PHP中的那些魔術(shù)常量

標(biāo)簽:衢州 蚌埠 萍鄉(xiāng) 江蘇 衡水 棗莊 大理 廣元

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP學(xué)習(xí)記錄之常用的魔術(shù)常量詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    建始县| 崇文区| 前郭尔| 凤凰县| 宣城市| 海盐县| 谢通门县| 太康县| 丹江口市| 中阳县| 瑞丽市| 乐清市| 阳山县| 阿城市| 商水县| 张家口市| 长葛市| 工布江达县| 张家界市| 忻城县| 得荣县| 太白县| 南丹县| 青铜峡市| 翁牛特旗| 扎兰屯市| 三都| 南康市| 肥城市| 额尔古纳市| 乌审旗| 中卫市| 西昌市| 余姚市| 郁南县| 古丈县| 永福县| 伊宁市| 漾濞| 方山县| 卫辉市|