Using $this when not in object context 靜態方法調用非靜態屬性和方法 出錯 解決

Using $this when not in object context----出現這個報錯是因爲: 

靜態方法內不能使用 $this, 靜態屬性和方法被創建時,可能還沒有任何這個類的實例可以被調用,靜態屬性不需要實例化就可以直接使用,在類還沒有創建時就可以直接使用;

原因:由於靜態方法在內存中只有一份,無論你調用多少次,都是共用的,而且沒有對象的概念,所以不能在靜態方法裏面使用$this調用,如果非得調用的話,只能實例化自身類($self = new self() ---調用實例的方法)而實例化不一樣,每一個實例化是一個對象,在內存中是多個的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章