程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php中static和const關鍵字用法分析

php中static和const關鍵字用法分析

編輯:PHP綜合

本文實例講述了php中static和const關鍵字用法。分享給大家供大家參考,具體如下:

static關鍵字在類中描述的成員屬性和成員函數都是靜態的。

static成員能限制外部的訪問,因為static成員是屬於類的,而不是屬於任何對象實例。

從內存的角度講,其中對象是放在“堆內存”中,對象的引用是放在“棧內存”中,而靜態成員被放在初始化靜態段中,在類的第一次加載的時候加入的。可以讓對內存中的所有對象所共享。如下圖所示:

<?php
class Person{
 public static $myCountry = "中國";
 public static function say(){
  echo "我的祖國是:".self::$myCountry."<br>";
 }
}
//輸出靜態屬性
echo Person::$myCountry."<br>";
//調用靜態方法
Person::say();
//修改靜態屬性
Person::$myCountry = "中國-江蘇";
echo Person::$myCountry."<br>";
?>

輸出結果為:

中國
我的祖國是:中國
中國-江蘇

類中的靜態方法只能訪問類的靜態的屬性。類中的靜態的方法是不能訪問類的非靜態的成員的。我們用self來訪問類中的靜態屬性。self與this相似,只不過self代表靜態方法所在的類,this相似,只不過self代表靜態方法所在的類,this引用指針,代表調用此方法的對象。靜態方法是不用對象調用的,所有就沒有this這個引用了。沒有this這個引用了。沒有this,就沒辦法調用類中的其他的成員屬性。

const是一個定義常量的關鍵字。在類裡面常用const來定義常量。用“const”修飾的成員屬性的訪問方式和“static”修飾的成員訪問的方式差不多,也是使用“類名”,在方法裡面使用“self”關鍵字。但是不用使用“$”符號,也不能使用對象來訪問。

<?php
class MyClass{
 const constant = 'constant value';
 function showConstant(){
  //方法中調用常量,沒有$
  echo self::constant."<br>";
 }
}
//類直接調用,沒有$
echo MyClass::constant."<br>";
$class = new MyClass();
$class ->showConstant();
?>

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved