新學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 ?>