1. 程式人生 > >PHP魔術常量集合-面試會問的

PHP魔術常量集合-面試會問的

<?php

echo __LINE__; //當前行

echo __FILE__;//檔案的完整路徑和檔名

echo __DIR__;//檔案所在目錄

echo __FUNCTION__;//PHP4.3.0新增的,返回該函式在定義時的名稱

echo __CLASS__;//PHP4.3.0新增的,類的名稱(區分大小寫)

echo __METHOD__;//PHP 5.0.0 新增的,類的方法名稱(區分大小寫)

echo __NAMESPACE__;//PHP 5.3.0新增的,當前名稱空間的名稱(區分大小寫)

?>

還有一個比較特殊的,叫做:__TRAIT__ PHP5.4.0新增的

解釋:從基類繼承的成員被插入的 SayWorld Trait 中的 MyHelloWorld 方法所覆蓋。其行為 MyHelloWorld 類中定義的方法一致。優先順序是當前類中的方法會覆蓋 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();
?>

最後輸出:Hello World!