PHP中的類與對象入門知識
語法比較好理解,但面向對象是編程思想,需要一定的代碼量才能理解存在的意義。我們不妨來看看PHP中的類與對象入門知識,以下僅供參考!
基本語法
定義類
class name{
public $user = '張三';
function getUser(){
return $this->user;
}
}
class 關鍵字,定義類的時候必須要有
name 類名稱,命名規則雷同變量
{ … } 類的代碼,寫在這裏面
public 定義可見性,後面會講
$user 定義類屬性,很像變量
function getUser(){..} 定義類方法,很像函數
$this 偽變量,在類內部調用方法、屬性時使用
調用類
只要看到 new xxx,這樣的語法,就一定是在實例化類。
//實例化類,$n 是一個對象
$n = new name();
//調用類屬性
echo $n->name;
//調用類方法,有括號的是方法
echo $n->getUser();
//靜態調用類屬性
name::$user;
name::getUser();
靜態調用,需要有 static 的'修飾符,非本文重點,略過。
類屬性
功能和語法 和 變量非常接近。
在類的內部定義。
調用時,必須通過類的實例化對象。
類方法
功能和語法 和 函數非常接近。
在類的內部定義。
調用時,必須通過類的實例化對象。
能使用 $this,而函數沒有。
$this
PHP預先定義好的偽變量,用於在類的內部,調用其他方法和屬性。
只能用,不能對它賦值。
可見性
在類的內部,可以使用可見性修飾符,來修飾類的屬性和方法。
class name{
public $user = 'test';
//定義受保護的類方法
protected function get(){
return $this->user;
}
function get2(){
// 正確,在類內部可調用
$this->get();
}
}
$n = new name();
// 報錯,受保護的方法,外部不能調用。
$n->get();
public (公有)類的內部、外部都可以調用
protected (受保護)只能在類的內部調用,包括子類
private (私有)只能在類的內部調用,排除子類
魔術方法
由PHP 定義好的一系列有特殊意義的方法。
構造方法
它是魔術方法中比較常用的一種。
class name{
function __construct( $name ){
echo $name;
}
}
$n = new name( '張三' );
問題:上面的代碼會輸出 ‘張三’ 嗎?
答案:原本不會,因為沒有調用的類方法。
實際:會輸出,因為 __construct() 是構造方法,實例化類的時候自動執行。
注意:你給對象傳的參數,會由構造方法來接收。
還有別的魔術方法嗎?
下面的全是,用的不多,新人知道就好。
__destruct(),__call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo()
魔術方法有什麼特徵
原則上,以“__”兩個下劃線開頭的都應該是。
在特定場景自動執行。
類繼承
子類繼承父類的方法和屬性,來強化自己。
基本語法
class a{
function get(){
echo 'a';
}
}
class b extends a{
function get2(){
echo 'b';
}
}
$obj = new b();
//正確,繼承了 父類 a 的方法。
$obj->get();
子類 extends 父類 (繼承語法)
可見性為 private 的方法,不能繼承
父子類同名的方法、屬性,優先調用子類
子類可通過 parent::方法() 來調用父類方法,包括構造函數
總結
類與對象,是語法學習時的一座大山,想理解它的精髓更非一日之功,所以新人在這裏,能瞭解語法即可,至於為什麼這樣用,需要實戰中慢慢提高。
-
提高PHP執行效率的50個技巧
PHP是一種HTML內嵌式的語言,是一種在服務器端執行的嵌入HTML文檔的腳本語言,下面是小編為大家整理的提高PHP執行效率的50個技巧,歡迎參考~1、用單引號代替雙引號來包含字符串,這樣做會更快一些。因為PHP會在雙引號包圍的字符串中搜尋變量,單引號則不會,注意:只有echo...
-
ThinkPHP中自動驗證
學無止境,剛開始學習PHP會覺得簡單,但是越學會越難。下面是小編整理的關於ThinkPHP中自動驗證的知識,希望對大家有用,更多消息請關注應屆畢業生網。ThinkPHP中自動驗證:array(‘字段’,‘驗證規則’,‘錯誤提示’[,‘驗證條件&rsqu...
-
php計算兩個文件相對路徑的方法
文章主要介紹了php計算兩個文件相對路徑的方法,涉及php操作字符串的`技巧,具有一定參考借鑑價值,需要的朋友可以參考下.一、問題:寫一個php函數算出兩個文件的相對路徑。例如$a="/a/b/c/d/";$b="/a/b/12/34/",B相對於A的相對路徑是什麼?二、解決方法:?123456789101...
-
PHP 7.1中都有哪些重大更新
PHP7.1.0帶來了大量的改進和新功能:可空類型返回空類型可迭代的psuedo-type支持常量可見的類數組解構square框架和在list()中允許指定keys多異常類型捕獲,以下是小編為大家搜索整理的PHP7.1中都有哪些重大更新,希望能給大家帶來幫助!更多精彩內容請及時關注我們應...