php真正的威力源自它的函數,內置了1000個函數,可以參考PHP 參考手冊。
自定義函數:
1 function functionName() 2 { 3 要執行的代碼; 4 }
函數命名的准則:
1 <?php 2 class Site { 3 /* 成員變量 */ 4 var $url; 5 var $title; 6 7 /* 成員函數 */ 8 function setUrl($par){ 9 $this->url = $par; 10 } 11 12 function getUrl(){ 13 echo $this->url . PHP_EOL; 14 } 15 16 function setTitle($par){ 17 $this->title = $par; 18 } 19 20 function getTitle(){ 21 echo $this->title . PHP_EOL; 22 } 23 } 24 ?>
解析如下:
類使用 class 關鍵字後加上類名定義。
類名後的一對大括號({})內可以定義變量和方法。
類的變量使用 var 來聲明, 變量也可以初始化值。
函數定義類似 PHP 函數的定義,但函數只能通過該類及其實例化的對象訪問。
類創建後,我們可以使用 new 運算符來實例化該類的對象,訪問對象成員使用->訪問,不再是.,使用new Site調用無參構造函數,可以不帶括號:
1 $runoob = new Site; 2 $taobao = new Site; 3 $google = new Site;
1 $runoob->setTitle( "菜鳥教程" );
使用_construct命名構造函數
1 function __construct( $par1, $par2 ) { 2 $this->url = $par1; 3 $this->title = $par2; 4 }
與構造函數相反,當對象結束其生命周期時(例如對象所在的函數已調用完畢),系統自動執行析構函數
1 <?php 2 class MyDestructableClass { 3 function __construct() { 4 print "構造函數\n"; 5 $this->name = "MyDestructableClass"; 6 } 7 8 function __destruct() { 9 print "銷毀 " . $this->name . "\n"; 10 } 11 } 12 13 $obj = new MyDestructableClass(); 14 ?>
執行結果為:
構造函數 銷毀 MyDestructableClass
單根繼承,繼承使用關鍵字extends,實現接口使用implements
ok,php函數和對象已經學習完畢。注意,本教程屬於快速學習教程,只關注一些語法重點和特殊、不同點。