php內置變量的操作教程
php內置變量了:DIRECTORY_SEPARATOR
DIRECTORY_SEPARATOR是一個返回跟操作系統相關的路徑分隔符的php內置命令,在windows上返回/,而在linux或者類unix上反悔/,就是這麼個區別,通常在定義包含文件路徑或者上傳保存目錄的時候會用到。
PHP 把所有以 __ (兩個下劃線)開頭的類方法當成魔術方法。所以你定義自己的類方法時,不要以 __ 爲前綴。
1 、 __construct()
當實例化一個對象的時候,這個對象的構造方法將首先被調用;
我們知道 php5 對象模型和類名相同的函數是類的構造函數,那麼如果同時定義構造函數和 __construc() 方法的話, php5 會默認調用 __contruct() 而不會調用同類名函數,所以 __contruct() 作爲類的默認構造函數;
2 、 __destruct()
析構函數會在到某個對象的所有引用都被刪除或者當對象被顯式銷燬時執行。
3 、 __get(string $name)
當試圖讀取一個並不存在的屬性時被調用;如果試圖讀取一個對象並不存在的屬性的時候, php 就會給出錯誤的信息。如果在類裏添加 __get 方法,並且我們可以用這個函數實現類似 java 中的反射的各種操作。
4 、 __set(string $name, mixed $value)
給未定義的變量賦值時將被調用
5 、 __call(string $name, array $arguments)
當調用一個不可訪問方法(如未定義,或者不可見)時, __call() 會被調用。
__callStatic( string $name, array $arguments )
當在靜態方法中調用一個不可訪問方法(如未定義,或者不可見)時, __callStatic() 會被調用。
6 、 __toString()
當打印一個對象的時候被調用,這個方法類似於 java 的 toString 方法,當我們直接打印對象的時候回調這個函數。
7 、 __clone()
當對象被克隆時調用。
8 、 __sleep()
serialize() 函數會檢查是否存在一個魔術方法 __sleep . 如果存在, __sleep() 方法會先被調用, 然後才執行序列化操作。這個功能可以用於清理對象,並返回一個包含對象中所有變量名稱的數組。如果該方法不返回任何內容,則 NULL 被序列化,導致 一個 E_NOTICE 錯誤。 __sleep 方法常用於提交未提交的數據,或類似的操作。同時,如果你有一些很大的對象,不需要保存,這個功能就很好用。
9 、 __wakeup()
與 __sleep() 相反, unserialize() 會檢查是否存在一個 __wakeup 方法。如果存在,則會先調用 __wakeup 方法,預先準備對象數據。 __wakeup 經常用在反序列化操作中,例如重新建立數據庫連接,或執行其它初始化操作。
10 、 __isset()
當對未定義的變量調用 isset() 或 empty() 時, __isset() 會被調用。
11 、 __unset()
unset 一個對象的屬性時被調用。如: unset($c->name) 。
12 、 __set_state()
調用 var_export 時,被調用。用 __set_state 的返回值做爲 var_export 的`返回值。
13 、 __autoload()
實例化一個對象時,如果對應的類不存在,則該方法被調用。簡單的說就是類的自動加載 ; 當你嘗試使用一個 PHP 沒有組織到的類 , 它會尋找一個 __autoload 的全局函數 . 如果存在這個函數 ,PHP 會用一個參數來調用它 , 參數即類的名稱。
14 、 __invoke()
當嘗試以調用函數的方式調用一個對象時, __invoke 方法會被自動調用。
魔術常量 :
__LINE__ 文件中的當前行號。
__FILE__ 文件的完整路徑和文件名。如果用在被包含文件中,則返回被包含的文件名。自 PHP 4.0.2 起, __FILE__ 總是包含一個絕對路徑(如果是符號連接,則是解析後的絕對路徑),而在此之前的版本有時會包含一個相對路徑。
__DIR__ 文件所在的目錄。如果用在被包括文件中,則返回被包括的文件所在的目錄。它等價於 dirname(__FILE__) 。除非是根目錄,否則目錄中名不包括末尾的斜槓。( PHP 5.3.0 中新增) =
__FUNCTION__ 函數名稱( PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。
__CLASS__ 類的名稱( PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。
__METHOD__ 類的方法名( PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。
__NAMESPACE__ 當前命名空間的名稱(大小寫敏感)。這個常量是在編譯時定義的( PHP 5.3.0 新增)
相關文章
-
phpstorm配置Xdebug進行調試PHP教程
運行環境:PHPSTORM版本 : 8.0.1PHP版本 : 5.6.2xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_ps : php版本和xdebug版本一定要相對應1. PHP安裝xdebug擴展的配置,下面的配置僅供參考,路徑要換成自己的![xdebug]zend_extensio -
原創PHP教程:變量
導語:PHP是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。下面我們來看看原創的PHP變量教程,希望對大家有所幫助。1、isset() 判斷變量是否存在=================== -
php學習之php預定義變量
導語:PHP是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。下面我們來看看php學習之php預定義變量,希望對大家有所幫助。給大家介紹下php學習中經常要用到的php預定 -
java環境變量path和classpath的配置過程
在Java的學習中,涉及到兩個系統環境變量path和classpath。本文主要介紹了詳細介紹了java系統環境變量path和classpath的配置過程,需要的朋友可以參考一下!想了解更多相關信息請持續關注我們應屆畢業生考試網! 一. pa -
php內核分析之全局變量
今天,讓我們一起來探討這樣一個話題,當我們置身於這偌大的校園,一起感受集體濃厚的學習氛圍時,我們有沒有思考這樣一個問題——今天我努力了嗎?今天我充實嗎?今天我快樂嗎?或許有人會在我耳邊悄悄抱怨,整天成排 -
對php一些服務器端特性配置來加強php的安全
爲了幫助PHP初學者更加了解PHP,本站小編特地整理了對php一些服務器端特性配置來加強php的安全,希望對大家有用,更多內容請關注應屆畢業生網!前面象Shaun Clowes和rfp等都比較詳細的介紹了php、cgi程序在編程過程中遇到 -
windows8.1下Apache+Php+MySQL配置教程
軟件版本:apache:Apache 2.4.6 Win64PHP:PHP 5.5 VC11 x64 Non Thread SafeMySql:5.5 win64Mysql安裝:雙擊運行,設置用戶名、密碼、編碼(utf8)。PHP配置:1、解壓下載的zip文件到一個目錄,本教程中爲:D:serverphp2、複製文件- -
php語言的變量和常量
變量和常量是php語言的一大知識點,下面我們一起來了解關於php語言的變量和常量吧,歡迎大家閱讀! php語言的變量和常量 (一)常量變量可以隨時重新賦值//$age = 22;//$age = 23;//echo "",$age; (二)變量和常量 -
php配置文件phpini的方法參考
在平凡的學習、工作、生活中,大家總少不了接觸作文吧,藉助作文人們可以反映客觀事物、表達思想感情、傳遞知識信息。你知道作文怎樣才能寫的好嗎?下面是小編收集整理的秋之頌作文,供大家參考借鑑,希望可以幫助到有需要的朋 -
PHP的可變變量名
有時候可變的變量名會給編程帶來很大的方便。也就是說變量名可以被動態的命名和使用。通常變量通過下面這樣的語句來命名,更多消息請關注應屆畢業生網! ? <!--?php $a = 'hello'; ?--> 可變