久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

PHP魔術(shù)函數(shù),、魔術(shù)常量,、預(yù)定義常量

 七星棺材 2015-11-14
一,、魔術(shù)函數(shù)(13個)

1,、__construct() 
實(shí)例化對象時被調(diào)用,, 當(dāng)__construct和以類名為函數(shù)名的函數(shù)同時存在時,__construct將被調(diào)用,,另一個不被調(diào)用,。 

2、__destruct() 
當(dāng)刪除一個對象或?qū)ο蟛僮鹘K止時被調(diào)用,。 

3,、__call() 
對象調(diào)用某個方法,, 若方法存在,,則直接調(diào)用,;若不存在,,則會去調(diào)用__call函數(shù)。 

4,、__get() 
讀取一個對象的屬性時,,若屬性存在,則直接返回屬性值,; 若不存在,,則會調(diào)用__get函數(shù)。 

5,、__set() 
設(shè)置一個對象的屬性時,, 若屬性存在,,則直接賦值,; 
若不存在,則會調(diào)用__set函數(shù),。 

6、__toString() 
打印一個對象的時被調(diào)用,。如echo $obj;或print $obj; 

7,、__clone() 
克隆對象時被調(diào)用。如:$t=new Test();$t1=clone $t; 

8,、__sleep() 
serialize之前被調(diào)用,。若對象比較大,想刪減一點(diǎn)東東再序列化,,可考慮一下此函數(shù),。 

9、__wakeup() 
unserialize時被調(diào)用,,做些對象的初始化工作,。 

10、__isset() 
檢測一個對象的屬性是否存在時被調(diào)用,。如:isset($c->name),。 

11、__unset() 
unset一個對象的屬性時被調(diào)用。如:unset($c->name),。 

12,、__set_state() 
調(diào)用var_export時,被調(diào)用,。用__set_state的返回值做為var_export的返回值,。 

13、__autoload() 
實(shí)例化一個對象時,,如果對應(yīng)的類不存在,,則該方法被調(diào)用。
 
舉例說明
1,、__get() 當(dāng)試圖讀取一個并不存在的屬性的時候被調(diào)用,。

如果試圖讀取一個對象并不存在的屬性的時候,PHP就會給出錯誤信息,。如果在類里添加__get方法,,并且我們可以用這個函數(shù)實(shí)現(xiàn)類似java中反射的各種操作。

class Test 

     
public function __get($key
    { 
         
echo $key . " 不存在"
    } 


$t = new Test(); 
echo $t->name; 
就會輸出:name 不存在



2,、__set() 當(dāng)試圖向一個并不存在的屬性寫入值的時候被調(diào)用,。

class Test 

 
   public function __set($key$value
    { 
         
echo '$key . "附值$value
    } 


$t = new Test(); 
$t->name = "aninggo"

就會輸出:對 name 附值 aninggo

 

3、__call() 當(dāng)試圖調(diào)用一個對象并不存在的方法時,,調(diào)用該方法,。

class Test 

    
public function __call($Key, $Args
    { 
         
echo "您要調(diào)用的 {$Key} 方法不存在。你傳入的參數(shù)是:" . print_r($Args, true); 
    } 


$t = new Test(); 
$t->getName(aninggo);

程序?qū)敵觯?br style="margin: 0px; padding: 0px;">您要調(diào)用的 getName 方法不存在,。參數(shù)是:Array
(
     [0] => aning
     [1] => go
)

 

4,、__toString() 當(dāng)打印一個對象的時候被調(diào)用,這個方法類似于java的toString方法,,當(dāng)我們直接打印對象的時候回調(diào)用這個函數(shù),。

class Test 

     
public function __toString() 
     { 
         
return "打印 Test"
     } 


$t = new Test(); 
echo $t

運(yùn)行echo $t;的時候,,就會調(diào)用$t->__toString();從而程序?qū)敵觯?/span>打印 Test;

5,、__clone() 當(dāng)對象被克隆時,被調(diào)用,。

class Test 

     
public function __clone() 
     { 
         
echo "我被復(fù)制了,!"
     }
}

$t = new Test(); 
$t1 = clone $t;

程序輸出:我被復(fù)制了!


二,、魔術(shù)常量(8個)

1,、__LINE__ 
返回文件中的當(dāng)前行號。

2,、__FILE__ 
返回文件的完整路徑和文件名,。如果用在包含文件中,則返回包含文件名,。自 PHP 4.0.2 起,,__FILE__ 總是包含一個絕對路徑,,而在此之前的版本有時會包含一個相對路徑。
 
3,、__DIR__
文件所在的目錄,。如果用在被包括文件中,則返回被包括的文件所在的目錄,。它等價于 dirname(__FILE__),。除非是根目錄,否則目錄中名不包括末尾的斜杠,。(PHP 5.3.0中新增)

4,、__FUNCTION__
返回函數(shù)名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數(shù)被定義時的名字(區(qū)分大小寫),。在 PHP 4 中該值總是小寫字母的,。

5、__CLASS__
返回類的名稱(PHP 4.3.0 新加),。自 PHP 5 起本常量返回該類被定義時的名字(區(qū)分大小寫),。在 PHP 4 中該值總是小寫字母的。
 
6,、__TRAIT__
Trait 的名字(PHP 5.4.0 新加),。自 PHP 5.4 起此常量返回 trait 被定義時的名字(區(qū)分大小寫)。Trait 名包括其被聲明的作用區(qū)域(例如 Foo\Bar),。

7,、__METHOD__
返回類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區(qū)分大小寫),。 格式:類名::方法名
 
8,、__NAMESPACE__
當(dāng)前命名空間的名稱(區(qū)分大小寫)。此常量是在編譯時定義的(PHP 5.3.0 新增)
 
 
三,、預(yù)定義常量

PHP_VERSION                    PHP 程序的版本,,如4.0.2
PHP_OS                             執(zhí)行PHP解釋器的操作系統(tǒng)名稱,如Windows
PHP_SAPI                          用來判斷是使用命令行還是瀏覽器執(zhí)行的,,如果 PHP_SAPI=='cli' 表示是在命令行下執(zhí)行

E_ERROR                          最近的錯誤處
E_WARNING                      最近的警告處
E_PARSE                           剖析語法有潛在問題處
E_NOTICE                         發(fā)生不尋常但不一定是錯誤處

PHP_EOL                           系統(tǒng)換行符,,Windows是(\r\n),Linux是(/n),,MAC是(\r),,自 PHP 4.3.10 和 PHP 5.0.2 起可用
DIRECTORY_SEPARATOR   系統(tǒng)目錄分隔符,Windows是反斜線(\),,Linux是斜線(/)
PATH_SEPARATOR             多路徑間分隔符,,Windows是反斜線(;),Linux是斜線(:)

PHP_INT_MAX                    INT最大值,32位平臺時值為2147483647,,自 PHP 4.4.0 和 PHP 5.0.5 起可用
PHP_INT_SIZE                   INT字長,,32位平臺時值為4(4字節(jié)),自 PHP 4.4.0 和 PHP 5.0.5 起可用

 

 四,、PHP運(yùn)行環(huán)境檢測函數(shù)php_sapi_name()

該函數(shù)返回一個描述PHP與WEB服務(wù)器接口的小寫字符串,。

返回描述 PHP 所使用的接口類型(the Server API, SAPI)的小寫字符串。
例如,,CLI 的 PHP 下這個字符串會是 "cli",,Apache 下可能會有幾個不同的值,取決于具體使用的 SAPI,。
以下列出了可能的值:
aolserver,、apache、 apache2filter,、apache2handler,、 caudium、cgi (直到 PHP 5.3), cgi-fcgi,、cli,、 continuity、embed,、 isapi,、litespeed、 milter,、nsapi,、 phttpd、pi3web,、roxen,、 thttpd、tux 和 webjames,。

SAPI: 服務(wù)器端API,,貌似和CGI是一個東西。每個服務(wù)器提供的API可能不同,,但是他們都提供了CGI,。
        所以可以理解CGI是每個服務(wù)器都應(yīng)該有的SAPI。apache有自己的SAPI,,IIS也有自己的。但是php能在這些不同的服務(wù)器端工作,,因?yàn)閜hp支持了它們各自的SAPI,。
PHP-CLI: php命令行接口,php可以工作在這種模式下也可以CGI模式。是SAPI的一種,,它和CGI提供的功能差不多,。

 

參考:http:///manual/zh/reserved.constants.php
         http://hi.baidu.com/sy_wj/item/08c20d0b63ba29833d42e2f4

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多