新學PHP,比較有意思的語法,記錄下。
1. 變量的作用域
作用域只分兩個Global和Local,Global相對於整個.php文件來講,Local是本地最小范圍,是距離變量最近的范圍,如:在函數中,在類中等。
2. 變量的聲明
可能是由於PHP變量獨特的$符號,所以聲明PHP變量不需要關鍵字(類中除外),第一次賦值的時候自動創建了。
類中卻比較獨特了,由於類帶有成員屬性private、public、protected,那麼在類中聲明變量的時候是需要關鍵字修飾的。用前面所說的關鍵字或這個關鍵字var,但是不可以二者共用。
3. 樣例說明
1 <?php 2 3 $VarFile = "Var_File"; //變量聲明 4 5 $nr = array("\n","\r","\n\r","\r\n"); 6 7 8 class TestClass 9 { 10 /* 11 * 分別用Var聲明和private關鍵字聲明 12 * $var = value; 這種不可以 13 * var private $var; 這種不可以 14 * var private $var = value; 這種不可以 15 * var $var; 這種不可以 16 */ 17 18 var $VarClass = 'VarClass declared by keyword Var'; 19 private $VarClass2 = 'VarClass2 declared by keyword private'; 20 21 /* 22 * 增加global關鍵字,使用global作用域的變量 23 * 函數中聲明變量方法與全局一樣 24 */ 25 26 function GetAllVar() { 27 global $VarFile; 28 $VarFunction = 'Var_Function'; 29 30 $Temp = "$VarFile=".$VarFile."\r\n". 31 "VarClass=".$this->VarClass."\r\n". 32 "VarClass2=".$this->VarClass2."\r\n". 33 "VarFunction=".$VarFunction."\r\n"; 34 35 36 return str_replace($GLOBALS['nr'],"<br/>",$Temp); 37 } 38 39 40 41 } 42 43 $MyClass = new TestClass("zzy"); 44 echo $MyClass->GetAllVar(); 45 46 ?>