1.靜態變數(加 static)屬於類,程式執行時,就分配空間,常用作常量,使用類就可以呼叫。
2. 例項變數 (不加 static)屬於物件,在例項化(new) 時,分配空間。
3.區域性變數(在函式內的變數)屬於某個**塊(函式),在呼叫呼叫這個函式時,分配空間。
//後期靜態繫結
class a
public static function test()
}class b extends a
}b::test();
5.魔術方法
//魔術方法
class test
public function __get($var)
public function __isset($name)//當isset()或者empty()乙個不存在或者許可權不夠的屬性時呼叫此方法
public function __unset($name)//當銷毀乙個不存在或者許可權不夠的屬性時呼叫此方法
public function __call($name, $arguments)//當呼叫乙個不存在(許可權不夠,第乙個引數是方法名,第二個引數是方法引數)的方法時呼叫
public static function __callstatic($name,$arguments)
public function __invoke($arg)//把物件當函式使用時呼叫這個方法
public function __tostring()//echo物件時呼叫此方法,方法內必須return
}$test = new test();
//$test->abc = 'cehsi';
//empty($test->abc);
//unset($test->abc);
//$test->go(1,'ceshi');
//$test::gogo(2,'ceshi');
//$test('物件當函式使用');
echo $test;
6.物件拷貝
6.1 淺拷貝,通過位址指向同乙個值,乙個變數改變值時另乙個變數值也改變。
6.2 深拷貝,複製出乙個新的值,相互之間互不影響。
//變數之間的拷貝(淺拷貝,深拷貝)
class a
$a = new a;
//$b = $a; //淺拷貝(省記憶體,php預設是淺拷貝)
$b = clone $a;//使用clone則是深拷貝
$b->age = 1;
print_r($a->age);
7.trait關鍵字(解決php是單繼承,無法繼承多個類的問題,是一種**復用機制)
//trait關鍵字
trait a
public function testb()
}trait c
}class b
$b = new b;
$b -> testa();
$b -> testc();
print_r($b->name);
8.介面類
//介面類(可以理解介面是類的模板,介面可以繼承不能例項化)
inte***ce person
class man implements person
public function sleep()
}class woman implements person
public function sleep()
}$user = new woman;
$user ->eat();
$user ->sleep();
9.抽象類
//抽象類(介於介面和類之間的)
abstract class person
//抽象方法
abstract public function sleep();
}class man extends person
//繼承抽象類的子類需要實現抽象類中定義的抽象方法
public function sleep()
}$user = new man;
$user ->eat();
$user ->sleep();
10.設計模式
10.1單例模式
//單例模式(只能被例項化一次,節省記憶體)
class test
private function __clone()//私有的轉殖方法禁止被轉殖
public static function getinstance()
if (self::$_instance == null)
return self::$_instance;
}public function test()}//
//$t = test::getinstance();
$t->test();
10.2工廠模式
//工廠模式
class memach
public function get($k)
public function delete($k)
}class redis
public function get($k)
public function delete($k)
}class cache
}$cache = cache::factory();
$cache ->get(3);
Laravel 一部分總結
1.使用命令自動建立model層 進入所在目錄 php artisan make model test 2增刪改查 toarray 將資料變成陣列 public functionusertest 增 預設有兩個字段,可以在model層關閉,或者在表中新增 public timestamps fals...
測試只是一部分
對於很多測試人員來說,測試相關的內容是工作的全部,這是我們的視角。但是換個角度也許就不是這樣。首先我們工作的地方大部分是商業組織,是某個公司,開發某類產品或者提供某類服務,也就是business。所以從組織的層級往上看,到了一定的級別,其實看到的是業務 產品等東西,當然他們也關心我們技術和競爭對手的...
測試只是一部分
對於很多測試人員來說,測試相關的內容是工作的全部,這是我們的視角。但是換個角度也許就不是這樣。首先我們工作的地方大部分是商業組織,是某個公司,開發某類產品或者提供某類服務,也就是business。所以從組織的層級往上看,到了一定的級別,其實看到的是業務 產品等東西,當然他們也關心我們技術和競爭對手的...