-
我們可以這樣定義方法:
class?Car?{ ????public?function?getName()?{ ????????return?'汽車'; ????} } $car?=?new?Car(); echo?$car->getName();
使用關鍵字static修飾的,稱之為靜態方法,靜態方法不需要實例化對象,可以通過類名直接調用,操作符為雙冒號::。
class?Car?{ ????public?static?function?getName()?{ ????????return?'汽車'; ????} } echo?Car::getName();?//結果為“汽車”
查看全部 -
默認都為public,外部可以訪問。一般通過->對象操作符來訪問對象的屬性或者方法,對于靜態屬性則使用::雙冒號進行訪問。當在類成員方法內部調用的時候,可以使用$this偽變量調用當前對象的屬性。
$car?=?new?Car(); echo?$car->name;???//調用對象的屬性 echo?$car->color;??//錯誤?受保護的屬性不允許外部調用echo?$car->price;??//錯誤?私有屬性不允許外部調用
受保護的屬性與私有屬性不允許外部調用,在類的成員方法內部是可以調用的。
class?Car{ ????private?$price?=?'1000'; ????public?function?getPrice()?{ ????????return?$this->price;?//內部訪問私有屬性????}}
查看全部 -
session會自動的對要設置的值進行encode與decode,因此session可以支持任意數據類型,包括數據與對象等。
session_start(); $_SESSION['ary']?=?array('name'?=>?'jobs'); $_SESSION['obj']?=?new?stdClass(); var_dump($_SESSION);
默認情況下,session是以文件形式存儲在服務器上的,因此當一個頁面開啟了session之后,會獨占這個session文件,這樣會導致當前用戶的其他并發訪問無法執行而等待??梢圆捎镁彺婊蛘邤祿斓男问酱鎯斫鉀Q這個問題,這個我們會在一些高級的課程中講到。
查看全部 -
元字符具有兩種使用場景,一種是可以在任何地方都能使用,另一種是只能在方括號內使用,在方括號內使用的有:
\ 轉義字符
^ 僅在作為第一個字符(方括號內)時,表明字符類取反
- 標記字符范圍其中^在反括號外面,表示斷言目標的開始位置,但在方括號內部則代表字符類取反,方括號內的減號-可以標記字符范圍,例如0-9表示0到9之間的所有數字。
查看全部 -
PHP類和對象之重載
PHP中的重載指的是動態的創建屬性與方法,是通過魔術方法來實現的。屬性的重載通過__set,__get,__isset,__unset來分別實現對不存在屬性的賦值、讀取、判斷屬性是否設置、銷毀屬性。
方法的重載通過__call來實現,當調用不存在的方法的時候,將會轉為參數調用__call方法,當調用不存在的靜態方法時會使用__callStatic重載。
查看全部 -
PHP類和對象之訪問控制
被定義為公有的類成員可以在任何地方被訪問。被定義為受保護的類成員則可以被其自身以及其子類和父類訪問。被定義為私有的類成員則只能被其定義所在的類訪問。
如果構造函數定義成了私有方法,則不允許直接實例化對象了,這時候一般通過靜態方法進行實例化,在設計模式中會經常使用這樣的方法來控制對象的創建,比如單例模式只允許有一個全局唯一的對象。
查看全部 -
PHP類和對象之Static靜態關鍵字
靜態屬性與方法可以在不實例化類的情況下調用,直接使用
類名::方法名
的方式進行調用。靜態屬性不允許對象使用->操作符調用。靜態方法中,$this偽變量不允許使用??梢允褂胹elf,parent,static在內部調用靜態方法與屬性。
查看全部 -
PHP類和對象之構造函數和析構函數
在子類中如果定義了__construct則不會調用父類的__construct,如果需要同時調用父類的構造函數,需要使用parent::__construct()顯式的調用
同樣,PHP5支持析構函數,使用__destruct()進行定義,析構函數指的是當某個對象的所有引用被刪除,或者對象被顯式的銷毀時會執行的函數。
查看全部 -
PHP類和對象之定義類的方法
使用關鍵字static修飾的,稱之為靜態方法,靜態方法不需要實例化對象,可以通過類名直接調用,操作符為雙冒號::
調用靜態屬性需要加$符號
查看全部 -
PHP類和對象之類的屬性
默認都為public,外部可以訪問。一般通過->對象操作符來訪問對象的屬性或者方法,對于靜態屬性則使用::雙冒號進行訪問。當在類成員方法內部調用的時候,可以使用$this偽變量調用當前對象的屬性。
查看全部 -
PHP類和對象之創建一個對象
//方法內部可以使用$this偽變量調用對象的屬性或者方法
查看全部 -
$arr[0]='蘋果';
array('0'=>'蘋果');
array('蘋果');
查看全部 -
PHP類和對象之訪問控制
被定義為公有的類成員可以在任何地方被訪問。被定義為受保護的類成員則可以被其自身以及其子類和父類訪問。被定義為私有的類成員則只能被其定義所在的類訪問。
類屬性必須定義為公有、受保護、私有之一。為兼容PHP5以前的版本,如果采用 var 定義,則被視為公有。
類中的方法可以被定義為公有、私有或受保護。如果沒有設置這些關鍵字,則該方法默認為公有。
如果構造函數定義成了私有方法,則不允許直接實例化對象了,這時候一般通過靜態方法進行實例化,在設計模式中會經常使用這樣的方法來控制對象的創建,比如單例模式只允許有一個全局唯一的對象。
查看全部 -
PHP類和對象之Static靜態關鍵字
調用靜態屬性需要加$符號
靜態方法中,$this偽變量不允許使用??梢允褂胹elf,parent,static在內部調用靜態方法與屬性。
查看全部 -
PHP類和對象之構造函數和析構函數
在子類中如果定義了__construct則不會調用父類的__construct,如果需要同時調用父類的構造函數,需要使用parent::__construct()顯式的調用。
查看全部
舉報