PHP ?? ??
PHP ?? ??
PHP? ???? ?? ????? ?? ??? ??? ??? ?????.
??? ?? ??? ??? ?? ?????? ?? ???? ??? ?? ?????? ????? ?? ?? ?? ?? ??? ?? ??? ???? ?????.
????? ??? ?? ?? ??? 8?? ?? ??? ????.
?? ?? __LINE__ ?? ????? ?? ?? ?????. ??? ?? ??? ????? ???? ??? ??? ????.
__LINE__
??? ?? ? ?? .
?:
<?php echo '這是第 “ ' . __LINE__ . ' ” 行'; ?>
? ?? ?? ??? ??? ????.
??? "? ??" ????
__FILE__
??? ?? ?? ? ?? ?????. ??? ?? ??? ???? ?? ??? ??? ??? ?????.
PHP 4.0.2?? __FILE__?? ?? ?? ??(??? ??? ?? ??? ?? ??)? ???? ??? ? ?? ????? ??? ?? ??? ???? ?????.
?:
<?php echo '該文件位于 “ ' . __FILE__ . ' ” '; ?>
? ?? ?? ??? ??? ????.
??? "E:wampwwwtestindex.php"
?? ????. >
__DIR__
??? ??? ???????. ??? ?? ??? ???? ?? ??? ??? ?? ????? ?????. dirname(__FILE__)? ?????. ???? ??? ?? ????? ?? ?? ?? ???? ???? ????. (PHP 5.3.0? ??? ??) ?:<?php echo '該文件位于 “ ' . __DIR__ . ' ” '; ?>? ?? ?? ??? ??? ????. ??? "E:wampwwwtest"? ????
__FUNCTION__
?? ??(PHP 4.3.0? ??? ??). PHP 5?? ? ??? ??? ?? ?? ??? ?????(???? ??). PHP 4??? ? ?? ?? ??????. ?:<?php function test() { echo '函數(shù)名為:' . __FUNCTION__ ; } test(); ?>? ?? ?? ??? ??? ????.?? ??? ??? ????. test
__CLASS__
??? ??(PHP 4.3.0? ??? ??). PHP 5?? ? ??? ????? ? ???? ??? ?????(???? ??). PHP 4?? ? ?? ?? ??????. ??? ???? ???? ??? ??(?: FooBar)? ?????. PHP 5.4?? __CLASS__? ???? ?????. ?? ??? ??? ???? ?? __CLASS__? ?? ???? ???? ???? ?????. ????:<?php class test { function _print() { echo '類名為:' . __CLASS__ . "<br>"; echo '函數(shù)名為:' . __FUNCTION__ ; } } $t = new test(); $t->_print(); ?>? ??? ?? ??? ??? ????.??? ??: test?? ??: _print
__TRAIT__
?? ??(PHP 5.4.0? ??? ??). PHP 5.4.0?? PHP? ????? ?? ??? ??? ?????. ?? ???? ??? ??(?: FooBar)? ?????.?? ????? ??? ??? ??? SayWorld Trait? MyHelloWorld ???? ?? ??????. ?? ??? MyHelloWorld ???? ??? ???? ?????. ?? ??? ?? ???? ???? ?? ???? ?????, ?? ???? ?? ???? ???? ????? ????.
<?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!
__METHOD__
???? ??? ??(PHP 5.0.0?? ?? ???). ??? ?? ???? ??? ?????(???? ??).
?:
<?php function test() { echo '函數(shù)名為:' . __METHOD__ ; } test(); ?>
? ?? ?? ??? ??? ????.
?? ??? ??? ????. test
__NAMESPACE__
?? ??????? ?????(???? ??). ? ??? ??? ??? ?????(PHP 5.3.0? ??? ??).
????:
<?php namespace MyProject; echo '命名空間為:"', __NAMESPACE__, '"'; // 輸出 "MyProject" ?>
? ??? ?? ??? ??? ????.
??????? "MyProject"