PHP中的static的理解
靜態方法
(1)靜態方法不能訪問這個類中的普通屬性,因為那些屬性屬於一個對象,但可以訪問靜態屬性;
(2)從當前類(不是子類)中訪問靜態方法或屬性,可以使用 self 關鍵字,self 指向當前類,就像 $this 指向當前對象一樣;
(3)不能再對象中調用靜態方法,靜態方法和屬性又被稱為類方法和類屬性,因此不能再對象中使用偽變量 $this 。
靜態方法的優點:
(1)在代碼的任何地方都可以用(假設可以訪問該類);
(2)類的每個實例都可以訪問類中定義的靜態屬性,可以利用靜態屬性來設置值,該值可以被類的所有對象使用;
(3)不需要實例對象就能訪問靜態屬性或方法。
靜態方法
在PHP中將成員方法聲明為靜態,就稱其為靜態方法。由於靜態方法不受任何具體對象的限制,所以不需要建立類實例就可以直接引用類中的方法
靜態屬性
靜態屬性可以被看做是存儲在類當中的全局變量,可以在任何地方通過類來訪問它們。
由於靜態屬性不受任何具體對象的限制,所以不需要建立類實例,而可以直接引用類中的靜態屬性。
PHP中的static的理解
相關推薦
php中static和self調用靜態方法區別
php由於看到框架裏面經常使用static::method() 於是稍微了解下static和self的區別廢話少說,直接上代碼class Father { public function __construct() { $this->init(); self::test(); }
php中Static(靜態)關鍵字作用
1、什麼是static? static 是C++中很常用的修飾符,它被用來控制變數的儲存方式和可見性。但在PHP中用 static 關鍵字來定義靜態方法和屬性, 也可用於定義靜態變數以及後期靜態繫結。 2、為什麼要引入static? 函式內部定義的變數,
php中static 靜態變數和普通變數的區別
1、在變數的前面加上static 就構成了靜態變數(static 變數)。 2、static變數和普通變數的區別在於非靜態全域性變數的作用域是整個源程式,當一個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是有效的。 而靜態全域性變數則限制了其作用域, 即只在定義該變數的原始檔內有效, 在同一源
PHP中的static的理解
子類 this 定義 實例 存儲 類屬性 理解 ati 實例對象 靜態方法 (1)靜態方法不能訪問這個類中的普通屬性,因為那些屬性屬於一個對象,但可以訪問靜態屬性; (2)從當前類(不是子類)中訪問靜態方法或屬性,可以使用 self 關鍵字,self 指向當前類,就像 $t
php中對static關鍵字的理解
/** * static 關鍵字 * 1. 定義與訪問類靜態成員 * 2. 訪問類常量 * 2. 後期靜態繫結(延遲靜態繫結) */ class MyClass{ //const 定義類常量 const DOMAIN = 'DonnieKing'; //st
PHP中new static() 和 new self() 的區別
pub 堆內存 func sel urn ret 通過 ati php self 指的是self所在的類 new static 實例化的是當前使用的類,有點像$this ,從堆內存中提取出來。 還是通過實例說明一下: class A { public static f
理解PHP中的會話控制
www. 只需要 通過 提交 http post col 現在 參數的傳遞 文件中 會話控制是一種跟蹤用戶的通信方式,使用會話控制主要基於以下幾點:由於http協議的無狀態性,使得不能通過協議來建立兩次請求之間的關聯;對於通常的頁面之間的數據傳遞方式get和post而言
深入理解PHP中賦值與引用
str ring int 之前 不同 重新 small nts 計數 【原文】 先看下面的問題: 1 2 3 4 5 6 7 8 <?php $a = 10;//將常量值賦給變量,會為a分配內存空間 $b = $a;//變量賦值給變量,是不是
php中引用&的真正理解-變量引用、函數引用、對象引用
重新 調用函數 存在 申請 變量名 static 分享圖片 就會 傳址 php的引用(就是在變量或者函數、對象等前面加上&符號) //最重要就是 刪除引用的變量 ,只是引用的變量訪問不了,但是內容並沒有銷毀 在PHP 中引用的意思是:不同的名字訪問同一個
PHP中self與static
php self static 所謂延遲靜態綁定,顧名思義,靜態調用時::符號左側的部分的的綁定是延遲,也就是說不再被解析為定義當前方法所在的類,而是在實際運行時計算的。 class A { public static function who() { echo __
完全理解PHP中的變量引用
當我 int 查看 原則 struct hello 繼續 常用 引用傳遞 在PHP面試中,經常會遇到這樣一道問題:什麽是變量引用,用什麽符號表示? 這個其實很簡單,變量引用簡單來說就是不同的變量名稱指向同一個值。用&符號表示。 初學PHP,都知道變量的聲明與賦值為:
【轉】PHP中的後期靜態綁定(Late Static Bindings )
mbo 代碼 當前 test num ngs color public name php5.3版本新增的靜態綁定的靜態綁定語法,也成為PHP的後期靜態綁定,如下 class A{ public static function func1(){ e
php面向對象中static靜態屬性和靜態方法的調用
style 存放位置 需要 5.4 color UNC size 只有一個 面向對象 關於它們的調用(能不能調用,怎麽樣調用),需要弄明白了他們在內存中存放位置,這樣就非常容易理解了。靜態屬性、方法(包括靜態與非靜態)在內存中,只有一個位置(而非靜態屬性,有多少實例化對象,
一文解決 PHP靜態(區域性/全域性)變數、auto(區域性/全域性)變數、類中static
一、靜態區域性變數、auto區域性變數、類中static 這是我的概念: 類屬性,類方法:是給類使用的,在類中使用 self::和 static:: 代表,供呼叫 例項屬性,例項方法:是給例項使用的,在類中使用 this-> 代表,供呼叫 <?php /**
PHP中選擇排序的演算法理解
選擇排序,原理: 在每一次大迴圈的時候得出一個最大值或者最小值來替換相應的位置,看程式碼: <?php $arr = [3,2,4,7,5]; for($i=0;$i<count($arr);$i++){ //第一次迴圈假設第一個元
php中self與static的區別
1、假設我們有個Car類,它有2個方法:model()和getModel()。 class Car{ public function model(){ //這裡我們使用了關鍵字self self::getModel(); } p
關於php中依賴注入(DI)和控制反轉(IOC)的理解
一、什麼是依賴注入和控制反轉 1.依賴注入(DI)— Dependecy Injection 為了更方便的理解,我們把依賴注入分開理解,首先什麼是依賴?顧名思義,依賴就是各元件之間的一種關係。一般來說,在面向物件程式設計中,我們在類A中 使用到了 類B的例項,我們就可以說
一些php中session的理解
寫在最前面: 感謝這位博主的分享::詩小藍–《徹底理解PHP的SESSION機制》 你知道這幾個問題嗎? 1. session會話是怎麼控制多個使用者的?(或者這樣問:session是儲存在伺服器上的檔案,怎麼保證使用者資訊不衝突?) 2. 為什麼瀏覽器關閉了再開啟sessio
java中static的理解(轉載)
使用 static 修飾符修飾的屬性(成員變數)、常量和成員方法稱為靜態變數、常量和方法,它們統稱為 靜態成員,歸整個類所有,不依賴於類的特定例項,被類的所有例項共享。只要這個類被載入, Java 虛擬機器就可以根據類名在執行時資料區的方法區內找到它們。 呼叫靜態
PHP中new self()和new static()的區別--延遲靜態載入
1.new static()是在PHP5.3版本中引入的新特性。 2.無論是new static()還是new self(),都是new了一個新的物件。 3.這兩個方法new出來的物件有什麼區別呢,說白了就是new出來的到底是同一個類例項還是不同的類例項呢? 為了探究上面的問題,我們